{
  "match_info": {
    "home_team": "Levante",
    "away_team": "Atlético Madrid",
    "tournament": "LaLiga",
    "date": "20261031",
    "timezone": "America/New_York",
    "home_formation": "4-3-3",
    "away_formation": "4-2-3-1",
    "lineup_status": "unconfirmed_official",
    "lineup_source": "/matches/get-lineups",
    "lineup_confirmed": false,
    "lineup_confidence": 0.75
  },
  "prediction": {
    "most_likely_score": "1-2",
    "home_goals": 1,
    "away_goals": 2,
    "most_likely_score_probability": 0.0964,
    "most_likely_winning_score_home": "2-1",
    "most_likely_winning_score_home_probability": 0.0507,
    "most_likely_winning_score_away": "1-2",
    "most_likely_winning_score_away_probability": 0.0964,
    "match_resolution": "regulation",
    "predicted_winner": "Atlético Madrid",
    "tiebreaker": {
      "applies": false,
      "method": "none",
      "regulation_draw_probability": 0.1954,
      "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,
      "deciding_stage": null,
      "deciding_scoreline": null,
      "deciding_scoreline_probability": null,
      "deciding_route_probability": null,
      "reason": "Tie-breaker not required for this match context."
    },
    "top_5_scorelines": [
      {
        "score": "1-2",
        "probability": 0.0964
      },
      {
        "score": "1-1",
        "probability": 0.0856
      },
      {
        "score": "0-2",
        "probability": 0.0809
      },
      {
        "score": "1-3",
        "probability": 0.0728
      },
      {
        "score": "0-1",
        "probability": 0.071
      }
    ],
    "scoreline_probabilities": {
      "0-0": 0.032,
      "0-1": 0.071,
      "0-2": 0.0809,
      "0-3": 0.0611,
      "0-4": 0.0346,
      "0-5": 0.0157,
      "0-6": 0.0059,
      "0-7": 0.0019,
      "0-8": 0.0005,
      "1-0": 0.0371,
      "1-1": 0.0856,
      "1-2": 0.0964,
      "1-3": 0.0728,
      "1-4": 0.0413,
      "1-5": 0.0187,
      "1-6": 0.0071,
      "1-7": 0.0023,
      "1-8": 0.0006,
      "2-0": 0.0224,
      "2-1": 0.0507,
      "2-2": 0.0574,
      "2-3": 0.0434,
      "2-4": 0.0246,
      "2-5": 0.0111,
      "2-6": 0.0042,
      "2-7": 0.0014,
      "3-0": 0.0089,
      "3-1": 0.0201,
      "3-2": 0.0228,
      "3-3": 0.0172,
      "3-4": 0.0098,
      "3-5": 0.0044,
      "3-6": 0.0017,
      "3-7": 0.0005,
      "4-0": 0.0026,
      "4-1": 0.006,
      "4-2": 0.0068,
      "4-3": 0.0051,
      "4-4": 0.0029,
      "4-5": 0.0013,
      "5-0": 0.0006,
      "5-1": 0.0014,
      "5-2": 0.0016,
      "5-3": 0.0012,
      "5-4": 0.0007
    },
    "outcome": {
      "home_win": 0.1894,
      "draw": 0.1954,
      "away_win": 0.6151
    },
    "markets": {
      "over_2_5_goals": 0.6711,
      "under_2_5_goals": 0.3289,
      "btts_yes": 0.6243,
      "btts_no": 0.3757,
      "home_clean_sheet": 0.1037,
      "away_clean_sheet": 0.3039
    },
    "home_ratings": {
      "DR": 6.77,
      "MCR": 6.8,
      "ATR": 6.8,
      "GK": 6.99
    },
    "away_ratings": {
      "DR": 6.98,
      "MCR": 7.0,
      "ATR": 7.18,
      "GK": 7.05
    },
    "insights": {
      "summary": "Antagonist matchup analysis for Levante vs Atlético Madrid. Most likely scoreline: 1-2. Lambdas derived from 6 home and 7 away individual player duels. Head-to-head: Levante 2W-4D-4L vs Atlético Madrid over 10 meetings.",
      "key_player": "Projected scorer(s): Roger Brugué, Julián Alvarez, Alex Baena",
      "tactical_analysis": "Tactical parity between 4-3-3 and 4-2-3-1. Match outcome driven primarily by individual player quality. Away midfield dictates play with ~55% possession expected (Jon Ander Olasagasti vs Pablo Barrios). Total antagonist xG — Home: 0.66, Away: 1.31. Home danger zone: Left Wing vs Right Back — Flank Battle. Away danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle."
    },
    "confidence": 0.77,
    "home_lambda": 1.191,
    "away_lambda": 2.266,
    "h2h": {
      "available": true,
      "meetings": 10,
      "home_wins": 2,
      "away_wins": 4,
      "draws": 4,
      "home_multiplier": 0.9857,
      "away_multiplier": 1.0143
    },
    "modal_scoreline": "1-2",
    "modal_scoreline_probability": 0.0964,
    "headline_policy": null
  },
  "pregame_baseline": {
    "fair_win_probability": {
      "home_win": 0.1894,
      "draw": 0.1954,
      "away_win": 0.6151
    },
    "favorite": "Atlético Madrid",
    "favorite_win_probability": 0.6151,
    "fair_spread": -1.075,
    "fair_total": 3.457,
    "prop_estimates": [
      {
        "market": "team_total_goals",
        "selection": "Levante",
        "estimate": 1.191,
        "probability": null,
        "unit": "goals"
      },
      {
        "market": "team_total_goals",
        "selection": "Atlético Madrid",
        "estimate": 2.266,
        "probability": null,
        "unit": "goals"
      },
      {
        "market": "over_2_5_goals",
        "selection": "yes",
        "estimate": 2.5,
        "probability": 0.6711,
        "unit": "probability"
      },
      {
        "market": "both_teams_to_score",
        "selection": "yes",
        "estimate": 1.0,
        "probability": 0.6243,
        "unit": "probability"
      },
      {
        "market": "clean_sheet",
        "selection": "Levante",
        "estimate": 1.0,
        "probability": 0.1037,
        "unit": "probability"
      },
      {
        "market": "clean_sheet",
        "selection": "Atlético Madrid",
        "estimate": 1.0,
        "probability": 0.3039,
        "unit": "probability"
      },
      {
        "market": "anytime_goal",
        "selection": "Roger Brugué (Levante)",
        "estimate": 0.2894,
        "probability": 0.2513,
        "unit": "xG"
      },
      {
        "market": "anytime_goal",
        "selection": "Julián Alvarez (Atlético Madrid)",
        "estimate": 0.5577,
        "probability": 0.4275,
        "unit": "xG"
      },
      {
        "market": "assist",
        "selection": "Jon Ander Olasagasti (Levante)",
        "estimate": 0.1757,
        "probability": 0.1611,
        "unit": "xA"
      },
      {
        "market": "assist",
        "selection": "Alex Baena (Atlético Madrid)",
        "estimate": 0.2748,
        "probability": 0.2403,
        "unit": "xA"
      }
    ],
    "expected_pace": {
      "tempo": "high",
      "expected_total_goals": 3.457,
      "expected_total_shots": 30,
      "expected_total_passes": 895,
      "expected_pressing_actions_per_90": 15.2,
      "possession_home_pct": 45.4,
      "possession_away_pct": 54.6,
      "notes": "Atlético Madrid projects to control midfield possession"
    },
    "expected_game_script": {
      "favorite": "Atlético Madrid",
      "favorite_win_probability": 0.6151,
      "script": "Atlético Madrid is the fair winner side, but the baseline remains favorite-led: fair spread -1.07 goals and fair total 3.46.",
      "first_half": "Expect high tempo while both sides test the matchup thesis; shot baseline is about 15 first-half attempts.",
      "second_half": "If level after halftime, midfield control and bench quality should decide territory; Levante must keep the match inside one goal.",
      "late_game": "A Atlético Madrid lead likely shifts toward control and counters; a draw state keeps set pieces and transition chances live."
    },
    "key_matchup_thesis": "Atlético Madrid chance creation leans on Julián Alvarez against Aïssa Mandi, Ifeanyi Ndukwe in Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle; Atlético Madrid projects to control midfield possession.",
    "expected_rotation_usage_behavior": [
      "Levante: starters carry the main goal usage through Roger Brugué; bench watchlist: Etta Eyong, Petar Ratkov, Enzo Bardeli.",
      "Atlético Madrid: starters carry the main goal usage through Julián Alvarez, Alex Baena; bench watchlist: Jonathan David, Thiago Almada.",
      "Assist usage should flow through Thiago Fernández, Julián Alvarez; late lineup changes should re-score these allocations."
    ],
    "pregame_play_by_play": [
      "0-15: Atlético Madrid tries to establish the projected edge; track possession and first-shot share.",
      "15-45: Baseline expects high tempo, about 15 total first-half shots, and 1.73 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 Levante 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 Atlético Madrid.",
      "Levante 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": {
    "Levante": {
      "formation": "4-3-3",
      "players": {
        "Oriol Rey": {
          "player_id": 859769,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 20,
          "height": 175,
          "market_value": 1700000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0477,
            "assist_rate": 0.0483,
            "assists": 0,
            "expected_goals": 0.0246,
            "goal_rate": 0.0327,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.7875,
            "minutes": 78,
            "total_pass": 33,
            "accurate_pass": 30,
            "duels_won": 2,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_own_half_passes": 15,
            "accurate_own_half_passes": 14,
            "total_opp_half_passes": 18,
            "accurate_opp_half_passes": 16,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 43,
            "possession_lost": 5.5168,
            "dispossessed": 0.455,
            "duels_lost": 3,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 2,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 11,
            "total_progression": 35,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "duel_xg_multiplier": 0.6723,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.4,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.227,
            "pressing_faced": "ULTRA_HIGH",
            "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
            "numerical_situation": "1v1",
            "opponent_defenders": "Morten Hjulmand",
            "opponent_faced": "Morten Hjulmand",
            "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0243,
            "projected_assists": 0,
            "assist_probability": 0.0466,
            "finishing_factor": 1.1747,
            "creation_factor": 1.1787,
            "fifa_overall": 73.0
          },
          "latest_10_games": [
            {
              "match_id": 17122851,
              "match_date": "2026-10-21",
              "home_team": "Levante UD",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 18,
                "rating": 6.6,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0059,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 15,
                "accurate_pass": 11,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 1,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421070,
              "match_date": "2026-10-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 47,
                "rating": 6.5,
                "expected_assists": 0.0031,
                "total_shots": 0,
                "total_pass": 16,
                "accurate_pass": 15,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 68,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0085,
                "total_shots": 0,
                "total_pass": 40,
                "accurate_pass": 34,
                "key_pass": 1,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416294,
              "match_date": "2026-09-20",
              "home_team": "Villarreal",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 84,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0057,
                "total_shots": 0,
                "total_pass": 33,
                "accurate_pass": 29,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416329,
              "match_date": "2026-09-13",
              "home_team": "Levante UD",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 30,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0284,
                "total_shots": 0,
                "total_pass": 12,
                "accurate_pass": 9,
                "clearances": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416320,
              "match_date": "2026-09-06",
              "home_team": "Málaga CF",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.017,
                "expected_assists": 0.0081,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 31,
                "accurate_pass": 26,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416309,
              "match_date": "2026-08-29",
              "home_team": "Levante UD",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0186,
                "total_shots": 0,
                "total_pass": 42,
                "accurate_pass": 38,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416296,
              "match_date": "2026-08-24",
              "home_team": "Osasuna",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 89,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0127,
                "total_shots": 0,
                "total_pass": 35,
                "accurate_pass": 32,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421053,
              "match_date": "2026-08-16",
              "home_team": "Espanyol",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0132,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 24,
                "tackles": 3,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083710,
              "match_date": "2026-05-23",
              "home_team": "Real Betis",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 45,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0037,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 23,
                "interceptions": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 4110,
            "combined_rank_score": 2102.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 698.0,
            "sofascore_rating": 6.7,
            "sofascore_appearances": 20.0,
            "fifa_rank": 3507.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7875,
            "source_file": "data/player_rankings.csv",
            "player_name": "Oriol Rey",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Agustín Sández",
                  "ranking": 4105
                },
                {
                  "player_name": "Axel Tuanzebe",
                  "ranking": 4106
                },
                {
                  "player_name": "Abdoul Ouattara",
                  "ranking": 4107
                },
                {
                  "player_name": "Liam Millar",
                  "ranking": 4108
                },
                {
                  "player_name": "Cristian Olivera",
                  "ranking": 4109
                }
              ],
              "lower": [
                {
                  "player_name": "Aihen Muñoz",
                  "ranking": 4111
                },
                {
                  "player_name": "David Carmo",
                  "ranking": 4112
                },
                {
                  "player_name": "Joel Roca",
                  "ranking": 4113
                },
                {
                  "player_name": "Nikola Katić",
                  "ranking": 4114
                },
                {
                  "player_name": "Albert Grønbæk",
                  "ranking": 4115
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.78,
          "history_matches": 29,
          "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",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "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",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 29,
            "data_confidence": 0.78,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.997,
            "fbref_prior_metrics": {
              "squad": "Levante",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 269.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.2
            },
            "rationale": "XGBoost regressor (M_service) evaluated 29 historical appearances across 8 target models; FBref 2026-2027 prior blended (La Liga, Levante, rel: 0.20, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.5354,
                "expected_assists": 0.0335,
                "assists": 0.0494,
                "assist_rate": 0.0494,
                "expected_goals": 0.0304,
                "goals": 0.0498,
                "goal_rate": 0.0498,
                "shots_on_target": 0.1365,
                "total_shots": 0.5078,
                "rating": 6.7875,
                "minutes": 78.23,
                "total_pass": 33.3326,
                "accurate_pass": 29.8061,
                "duels_won": 2.4915,
                "total_long_balls": 2.372,
                "accurate_long_balls": 1.0765,
                "total_own_half_passes": 15.1559,
                "accurate_own_half_passes": 14.1272,
                "total_opp_half_passes": 18.1767,
                "accurate_opp_half_passes": 15.6789,
                "crosses_total": 0.4857,
                "crosses_accurate": 0.0455,
                "touches": 42.6644,
                "possession_lost": 5.5334,
                "dispossessed": 0.4564,
                "duels_lost": 3.4553,
                "aerial_won": 0.8484,
                "aerial_lost": 0.7948,
                "interceptions": 0.4515,
                "tackles_won": 0.5381,
                "tackles": 0.9494,
                "clearances": 1.7602,
                "total_contest": 0.3029,
                "won_contest": 0.0098,
                "challenges_lost": 0.7895,
                "fouls": 1.2024,
                "fouls_drawn": 0.6839,
                "blocks": 0.4652,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 11.3097,
                "total_progression": 35.3963,
                "progressive_carries": 0.3826,
                "shots_off_target": 0.3713
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-21",
                    "opponent": "Athletic Club",
                    "minutes": 18.0,
                    "is_starting": false,
                    "weight": 0.1514,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-10-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 47.0,
                    "is_starting": true,
                    "weight": 0.1287,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Sevilla",
                    "minutes": 68.0,
                    "is_starting": true,
                    "weight": 0.1094,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Villarreal",
                    "minutes": 84.0,
                    "is_starting": true,
                    "weight": 0.093,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "FC Barcelona",
                    "minutes": 30.0,
                    "is_starting": false,
                    "weight": 0.079,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0672,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Real Betis",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0571,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Osasuna",
                    "minutes": 89.0,
                    "is_starting": true,
                    "weight": 0.0485,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-16",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0412,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-05-23",
                    "opponent": "Real Betis",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.0351,
                    "rating": 6.5
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.1765,
                  "creative_index": 0.144,
                  "expectedGoals": 0.0069,
                  "expectedAssists": 0.0141,
                  "totalOppositionHalfPasses": 14.6061
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.5354223251342773,
                    "model_output": 0.5354,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1286
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.1274
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0965
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0851
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0275
                        }
                      ],
                      "others": -0.147,
                      "total": 0.5354,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.134949
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.133608
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.114585
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.113267
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.039559
                        }
                      ],
                      "others_margin": -0.242404
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.03346949815750122,
                    "model_output": 0.0335,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0196
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0125
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0067
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.005
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0043
                        }
                      ],
                      "others": -0.0167,
                      "total": 0.0335,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "expectedAssists",
                          "margin": -0.262373
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.212131
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.118816
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.08751
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.08142
                        }
                      ],
                      "others_margin": -0.406723
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.049359604716300964,
                    "model_output": 0.0494,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": -0.0128
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0069
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0065
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0057
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0049
                        }
                      ],
                      "others": -0.0118,
                      "total": 0.0494,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": -0.163561
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.101049
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.094741
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.08289
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.077813
                        }
                      ],
                      "others_margin": -0.213214
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.030396755784749985,
                    "model_output": 0.0304,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0381
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0139
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0066
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0054
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0021
                        }
                      ],
                      "others": -0.0081,
                      "total": 0.0304,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "expectedGoals",
                          "margin": -0.539281
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.302921
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.155223
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.124119
                        },
                        {
                          "name": "goals",
                          "margin": -0.052779
                        }
                      ],
                      "others_margin": -0.237365
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.04977774992585182,
                    "model_output": 0.0498,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "expectedGoals",
                          "contribution": -0.021
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0146
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0084
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0052
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0034
                        }
                      ],
                      "others": -0.0094,
                      "total": 0.0498,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "expectedGoals",
                          "margin": -0.249402
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.219975
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.132045
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.080277
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.055931
                        }
                      ],
                      "others_margin": -0.172618
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.13649284839630127,
                    "model_output": 0.1365,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.1006
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0413
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.025
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0247
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.01
                        }
                      ],
                      "others": -0.0296,
                      "total": 0.1365,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.379727
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.210138
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.153096
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.151073
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.058628
                        }
                      ],
                      "others_margin": -0.196193
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.5078216195106506,
                    "model_output": 0.5078,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.338
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1178
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0618
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.053
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0463
                        }
                      ],
                      "others": -0.095,
                      "total": 0.5078,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.338003
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.117774
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.061817
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.052988
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.046265
                        }
                      ],
                      "others_margin": -0.094988
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.787511348724365,
                    "model_output": 6.7875,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": -0.0355
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.029
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0149
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0149
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": -0.006
                        }
                      ],
                      "others": -0.0254,
                      "total": 6.7875,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": -0.035476
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.028967
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.014943
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.014888
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": -0.006044
                        }
                      ],
                      "others_margin": -0.025299
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 29,
                  "role_matches": 21,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9970, quality 0.437)",
              "stats": {
                "key_pass": 0.5338,
                "expected_assists": 0.0334,
                "assists": 0.0492,
                "assist_rate": 0.0492,
                "expected_goals": 0.0303,
                "goals": 0.0496,
                "goal_rate": 0.0496,
                "shots_on_target": 0.1361,
                "total_shots": 0.5063,
                "rating": 6.7875,
                "minutes": 78.23,
                "total_pass": 33.2326,
                "accurate_pass": 29.7167,
                "duels_won": 2.484,
                "total_long_balls": 2.3649,
                "accurate_long_balls": 1.0733,
                "total_own_half_passes": 15.1104,
                "accurate_own_half_passes": 14.0848,
                "total_opp_half_passes": 18.1222,
                "accurate_opp_half_passes": 15.6319,
                "crosses_total": 0.4842,
                "crosses_accurate": 0.0454,
                "touches": 42.5364,
                "possession_lost": 5.5168,
                "dispossessed": 0.455,
                "duels_lost": 3.4449,
                "aerial_won": 0.8459,
                "aerial_lost": 0.7924,
                "interceptions": 0.4501,
                "tackles_won": 0.5365,
                "tackles": 0.9466,
                "clearances": 1.7549,
                "total_contest": 0.302,
                "won_contest": 0.0098,
                "challenges_lost": 0.7871,
                "fouls": 1.1988,
                "fouls_drawn": 0.6818,
                "blocks": 0.4638,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 11.2758,
                "total_progression": 35.2901,
                "progressive_carries": 0.3815,
                "shots_off_target": 0.3702
              },
              "params": {
                "market_value_eur": 1700000,
                "quality_factor": 0.4374,
                "boost_factor": 0.997,
                "reference_quality": 0.505,
                "history_matches": 29,
                "history_shrink": 0.1471,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0191)",
              "stats": {
                "key_pass": 0.5338,
                "expected_assists": 0.0334,
                "assists": 0.0483,
                "assist_rate": 0.0483,
                "expected_goals": 0.0303,
                "goals": 0.0487,
                "goal_rate": 0.0487,
                "shots_on_target": 0.1335,
                "total_shots": 0.4966,
                "rating": 6.7875,
                "minutes": 78.23,
                "total_pass": 33.2326,
                "accurate_pass": 29.7167,
                "duels_won": 2.484,
                "total_long_balls": 2.3649,
                "accurate_long_balls": 1.0733,
                "total_own_half_passes": 15.1104,
                "accurate_own_half_passes": 14.0848,
                "total_opp_half_passes": 18.1222,
                "accurate_opp_half_passes": 15.6319,
                "crosses_total": 0.4749,
                "crosses_accurate": 0.0454,
                "touches": 42.5364,
                "possession_lost": 5.5168,
                "dispossessed": 0.455,
                "duels_lost": 3.4449,
                "aerial_won": 0.8459,
                "aerial_lost": 0.7924,
                "interceptions": 0.4526,
                "tackles_won": 0.5373,
                "tackles": 0.9466,
                "clearances": 1.7549,
                "total_contest": 0.302,
                "won_contest": 0.0098,
                "challenges_lost": 0.7871,
                "fouls": 1.2036,
                "fouls_drawn": 0.6743,
                "blocks": 0.4638,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 11.2758,
                "total_progression": 35.2901,
                "progressive_carries": 0.3815,
                "shots_off_target": 0.3702
              },
              "params": {
                "blend_weight": 0.0191,
                "history_matches": 29,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.8692,
                "prior_reliability": 0.2,
                "competition": "La Liga",
                "squad": "Levante"
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 0.5063,
                  "after": 0.4966
                },
                {
                  "stat": "totalCross",
                  "before": 0.4842,
                  "after": 0.4749
                },
                {
                  "stat": "wasFouled",
                  "before": 0.6818,
                  "after": 0.6743
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.5338,
                "expected_assists": 0.0334,
                "assists": 0.0483,
                "assist_rate": 0.0483,
                "expected_goals": 0.0303,
                "goals": 0.0487,
                "goal_rate": 0.0487,
                "shots_on_target": 0.1335,
                "total_shots": 0.5037,
                "rating": 6.7875,
                "minutes": 78.23,
                "total_pass": 33.2326,
                "accurate_pass": 29.7167,
                "duels_won": 2.484,
                "total_long_balls": 2.3649,
                "accurate_long_balls": 1.0733,
                "total_own_half_passes": 15.1104,
                "accurate_own_half_passes": 14.0848,
                "total_opp_half_passes": 18.1222,
                "accurate_opp_half_passes": 15.6319,
                "crosses_total": 0.4749,
                "crosses_accurate": 0.0454,
                "touches": 42.5364,
                "possession_lost": 5.5168,
                "dispossessed": 0.455,
                "duels_lost": 3.4449,
                "aerial_won": 0.8459,
                "aerial_lost": 0.7924,
                "interceptions": 0.4526,
                "tackles_won": 0.5373,
                "tackles": 0.9466,
                "clearances": 1.7549,
                "total_contest": 0.302,
                "won_contest": 0.0098,
                "challenges_lost": 0.7871,
                "fouls": 1.2036,
                "fouls_drawn": 0.6743,
                "blocks": 0.4638,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 11.2758,
                "total_progression": 35.2901,
                "progressive_carries": 0.3815,
                "shots_off_target": 0.3702
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 0.5338,
                "expected_assists": 0.0334,
                "assists": 0.0483,
                "assist_rate": 0.0483,
                "expected_goals": 0.0204,
                "goals": 0.0327,
                "goal_rate": 0.0327,
                "shots_on_target": 0.0898,
                "total_shots": 0.3387,
                "rating": 6.7875,
                "minutes": 78.23,
                "total_pass": 33.2326,
                "accurate_pass": 29.7167,
                "duels_won": 2.484,
                "total_long_balls": 2.3649,
                "accurate_long_balls": 1.0733,
                "total_own_half_passes": 15.1104,
                "accurate_own_half_passes": 14.0848,
                "total_opp_half_passes": 18.1222,
                "accurate_opp_half_passes": 15.6319,
                "crosses_total": 0.4749,
                "crosses_accurate": 0.0454,
                "touches": 42.5364,
                "possession_lost": 5.5168,
                "dispossessed": 0.455,
                "duels_lost": 3.4449,
                "aerial_won": 0.9,
                "aerial_lost": 0.7924,
                "interceptions": 0.4526,
                "tackles_won": 0.5373,
                "tackles": 0.9466,
                "clearances": 1.7549,
                "total_contest": 0.302,
                "won_contest": 0.0098,
                "challenges_lost": 0.7871,
                "fouls": 1.2036,
                "fouls_drawn": 0.6743,
                "blocks": 0.4638,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 11.2758,
                "total_progression": 35.2901,
                "progressive_carries": 0.3815,
                "shots_off_target": 0.2489,
                "duel_xg_multiplier": 0.6723,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.227,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morten Hjulmand",
                "opponent_faced": "Morten Hjulmand",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Morten Hjulmand",
                  "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                  "duel_win_rate": 0.227,
                  "pressing_faced": "ULTRA_HIGH",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 0.6723,
                  "skill_edge": -0.1829,
                  "height_edge": -0.04,
                  "attacker_skill": 0.4374,
                  "defender_skill": 0.8439,
                  "attacker_role": "CM",
                  "attacker_mv_price_index": 0.9,
                  "defender_adjusted_parts": [
                    {
                      "player": "Morten Hjulmand",
                      "market_value": 48000000,
                      "role": "CDM",
                      "price_index": 0.85,
                      "adjusted_quality": 0.8439
                    }
                  ],
                  "xg_override": 0.0204
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 0.5037,
                  "after": 0.3387
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.3702,
                  "after": 0.2489
                },
                {
                  "stat": "aerialWon",
                  "before": 0.8459,
                  "after": 0.9
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.1335,
                  "after": 0.0898
                },
                {
                  "stat": "goals",
                  "before": 0.0487,
                  "after": 0.0327
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.0303,
                  "after": 0.0204
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 0.5338,
                "expected_assists": 0.0334,
                "assist_rate": 0.0483,
                "assists": 0,
                "expected_goals": 0.0204,
                "goal_rate": 0.0327,
                "goals": 0,
                "shots_on_target": 0.0898,
                "total_shots": 0.3387,
                "rating": 6.7875,
                "minutes": 78.23,
                "total_pass": 33.2326,
                "accurate_pass": 29.7167,
                "duels_won": 2.484,
                "total_long_balls": 2.3649,
                "accurate_long_balls": 1.0733,
                "total_own_half_passes": 15.1104,
                "accurate_own_half_passes": 14.0848,
                "total_opp_half_passes": 18.1222,
                "accurate_opp_half_passes": 15.6319,
                "crosses_total": 0.4749,
                "crosses_accurate": 0.0454,
                "touches": 42.5364,
                "possession_lost": 5.5168,
                "dispossessed": 0.455,
                "duels_lost": 3.4449,
                "aerial_won": 0.9,
                "aerial_lost": 0.7924,
                "interceptions": 0.4526,
                "tackles_won": 0.5373,
                "tackles": 0.9466,
                "clearances": 1.7549,
                "total_contest": 0.302,
                "won_contest": 0.0098,
                "challenges_lost": 0.7871,
                "fouls": 1.2036,
                "fouls_drawn": 0.6743,
                "blocks": 0.4638,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 11.2758,
                "total_progression": 35.2901,
                "progressive_carries": 0.3815,
                "shots_off_target": 0.2489,
                "duel_xg_multiplier": 0.6723,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.227,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morten Hjulmand",
                "opponent_faced": "Morten Hjulmand",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.19 (squad xG sum 0.9866, xG scale 1.2071, xA scale 1.4295, team xA 0.77 = 0.65 x lambda)",
              "stats": {
                "key_pass": 0.5338,
                "expected_assists": 0.0477,
                "assist_rate": 0.0483,
                "assists": 0,
                "expected_goals": 0.0246,
                "goal_rate": 0.0327,
                "goals": 0,
                "shots_on_target": 0.0898,
                "total_shots": 0.3387,
                "rating": 6.7875,
                "minutes": 78.23,
                "total_pass": 33.2326,
                "accurate_pass": 29.7167,
                "duels_won": 2.484,
                "total_long_balls": 2.3649,
                "accurate_long_balls": 1.0733,
                "total_own_half_passes": 15.1104,
                "accurate_own_half_passes": 14.0848,
                "total_opp_half_passes": 18.1222,
                "accurate_opp_half_passes": 15.6319,
                "crosses_total": 0.4749,
                "crosses_accurate": 0.0454,
                "touches": 42.5364,
                "possession_lost": 5.5168,
                "dispossessed": 0.455,
                "duels_lost": 3.4449,
                "aerial_won": 0.9,
                "aerial_lost": 0.7924,
                "interceptions": 0.4526,
                "tackles_won": 0.5373,
                "tackles": 0.9466,
                "clearances": 1.7549,
                "total_contest": 0.302,
                "won_contest": 0.0098,
                "challenges_lost": 0.7871,
                "fouls": 1.2036,
                "fouls_drawn": 0.6743,
                "blocks": 0.4638,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 11.2758,
                "total_progression": 35.2901,
                "progressive_carries": 0.3815,
                "shots_off_target": 0.2489,
                "duel_xg_multiplier": 0.6723,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.227,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morten Hjulmand",
                "opponent_faced": "Morten Hjulmand",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1747,
                "creation_factor": 1.1787
              },
              "params": {
                "team_lambda": 1.191,
                "squad_xg_sum": 0.9866,
                "squad_xa_sum": 0.5416,
                "team_expected_assists": 0.7742,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.2071,
                "xa_scale": 1.4295,
                "opponent_lambda": 2.266,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_assists",
                  "before": 0.0334,
                  "after": 0.0477
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 6 by projected rating, fifa_overall 73.0)",
              "stats": {
                "key_pass": 0.5338,
                "expected_assists": 0.0477,
                "assist_rate": 0.0483,
                "assists": 0,
                "expected_goals": 0.0246,
                "goal_rate": 0.0327,
                "goals": 0,
                "shots_on_target": 0.0898,
                "total_shots": 0.3387,
                "rating": 6.7875,
                "minutes": 78.23,
                "total_pass": 33.2326,
                "accurate_pass": 29.7167,
                "duels_won": 2.484,
                "total_long_balls": 2.3649,
                "accurate_long_balls": 1.0733,
                "total_own_half_passes": 15.1104,
                "accurate_own_half_passes": 14.0848,
                "total_opp_half_passes": 18.1222,
                "accurate_opp_half_passes": 15.6319,
                "crosses_total": 0.4749,
                "crosses_accurate": 0.0454,
                "touches": 42.5364,
                "possession_lost": 5.5168,
                "dispossessed": 0.455,
                "duels_lost": 3.4449,
                "aerial_won": 0.9,
                "aerial_lost": 0.7924,
                "interceptions": 0.4526,
                "tackles_won": 0.5373,
                "tackles": 0.9466,
                "clearances": 1.7549,
                "total_contest": 0.302,
                "won_contest": 0.0098,
                "challenges_lost": 0.7871,
                "fouls": 1.2036,
                "fouls_drawn": 0.6743,
                "blocks": 0.4638,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 11.2758,
                "total_progression": 35.2901,
                "progressive_carries": 0.3815,
                "shots_off_target": 0.2489,
                "duel_xg_multiplier": 0.6723,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.227,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morten Hjulmand",
                "opponent_faced": "Morten Hjulmand",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1747,
                "creation_factor": 1.1787,
                "fifa_overall": 73.0
              },
              "params": {
                "match_squad_rank": 6,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 4110,
                "fifa_rank": 3507.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 73.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 0.5338,
                "expected_assists": 0.0477,
                "assist_rate": 0.0483,
                "assists": 0,
                "expected_goals": 0.0246,
                "goal_rate": 0.0327,
                "goals": 0,
                "shots_on_target": 0.0898,
                "total_shots": 0.3387,
                "rating": 6.7875,
                "minutes": 78.23,
                "total_pass": 33.2326,
                "accurate_pass": 29.7167,
                "duels_won": 2.484,
                "total_long_balls": 2.3649,
                "accurate_long_balls": 1.0733,
                "total_own_half_passes": 15.1104,
                "accurate_own_half_passes": 14.0848,
                "total_opp_half_passes": 18.1222,
                "accurate_opp_half_passes": 15.6319,
                "crosses_total": 0.4749,
                "crosses_accurate": 0.0454,
                "touches": 42.5364,
                "possession_lost": 5.5168,
                "dispossessed": 0.455,
                "duels_lost": 3.4449,
                "aerial_won": 0.9,
                "aerial_lost": 0.7924,
                "interceptions": 0.4526,
                "tackles_won": 0.5373,
                "tackles": 0.9466,
                "clearances": 1.7549,
                "total_contest": 0.302,
                "won_contest": 0.0098,
                "challenges_lost": 0.7871,
                "fouls": 1.2036,
                "fouls_drawn": 0.6743,
                "blocks": 0.4638,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 11.2758,
                "total_progression": 35.2901,
                "progressive_carries": 0.3815,
                "shots_off_target": 0.2489,
                "duel_xg_multiplier": 0.6723,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.227,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morten Hjulmand",
                "opponent_faced": "Morten Hjulmand",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0243,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1747,
                "creation_factor": 1.1787,
                "fifa_overall": 73.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0243,
                "goal_rate": 0.0327,
                "scorer_weight": 0.0289,
                "squad_weight_total": 1.3229,
                "weight_share": 0.0218,
                "finishing_factor": 1.1747,
                "appearance_weight": 1.0,
                "weight_rank": 10,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Roger Brugué",
                    "weight": 0.315,
                    "already": 0,
                    "effective_weight": 0.315,
                    "runner_up": "Iván Romero",
                    "runner_up_effective_weight": 0.2553
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.5338,
                "expected_assists": 0.0477,
                "assist_rate": 0.0483,
                "assists": 0,
                "expected_goals": 0.0246,
                "goal_rate": 0.0327,
                "goals": 0,
                "shots_on_target": 0.0898,
                "total_shots": 0.3387,
                "rating": 6.7875,
                "minutes": 78.23,
                "total_pass": 33.2326,
                "accurate_pass": 29.7167,
                "duels_won": 2.484,
                "total_long_balls": 2.3649,
                "accurate_long_balls": 1.0733,
                "total_own_half_passes": 15.1104,
                "accurate_own_half_passes": 14.0848,
                "total_opp_half_passes": 18.1222,
                "accurate_opp_half_passes": 15.6319,
                "crosses_total": 0.4749,
                "crosses_accurate": 0.0454,
                "touches": 42.5364,
                "possession_lost": 5.5168,
                "dispossessed": 0.455,
                "duels_lost": 3.4449,
                "aerial_won": 0.9,
                "aerial_lost": 0.7924,
                "interceptions": 0.4526,
                "tackles_won": 0.5373,
                "tackles": 0.9466,
                "clearances": 1.7549,
                "total_contest": 0.302,
                "won_contest": 0.0098,
                "challenges_lost": 0.7871,
                "fouls": 1.2036,
                "fouls_drawn": 0.6743,
                "blocks": 0.4638,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 11.2758,
                "total_progression": 35.2901,
                "progressive_carries": 0.3815,
                "shots_off_target": 0.2489,
                "duel_xg_multiplier": 0.6723,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.227,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morten Hjulmand",
                "opponent_faced": "Morten Hjulmand",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0243,
                "projected_assists": 0,
                "assist_probability": 0.0466,
                "finishing_factor": 1.1747,
                "creation_factor": 1.1787,
                "fifa_overall": 73.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0466,
                "assist_rate": 0.0483,
                "provider_weight": 0.0562,
                "squad_weight_total": 0.7982,
                "weight_share": 0.0704,
                "creation_factor": 1.1787,
                "appearance_weight": 1.0,
                "weight_rank": 7,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Thiago Fernández",
                    "weight": 0.1951,
                    "already": 0,
                    "effective_weight": 0.1951,
                    "runner_up": "Jon Ander Olasagasti",
                    "runner_up_effective_weight": 0.1554,
                    "blocked_own_goal": [
                      "Roger Brugué"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Jon Ander Olasagasti": {
          "player_id": 1010383,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 8,
          "height": 176,
          "market_value": 2700000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.1757,
            "assist_rate": 0.1028,
            "assists": 0,
            "expected_goals": 0.0675,
            "goal_rate": 0.0647,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 6.8694,
            "minutes": 86,
            "total_pass": 37,
            "accurate_pass": 28,
            "duels_won": 4,
            "total_long_balls": 4,
            "accurate_long_balls": 2,
            "total_own_half_passes": 18,
            "accurate_own_half_passes": 15,
            "total_opp_half_passes": 19,
            "accurate_opp_half_passes": 13,
            "crosses_total": 5,
            "crosses_accurate": 1,
            "touches": 54,
            "possession_lost": 14.7792,
            "dispossessed": 0.5798,
            "duels_lost": 4,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 1,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0969,
            "ball_carries": 14,
            "total_progression": 61,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.6782,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.4,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.231,
            "pressing_faced": "ULTRA_HIGH",
            "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
            "numerical_situation": "1v1",
            "opponent_defenders": "Morten Hjulmand",
            "opponent_faced": "Morten Hjulmand",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0653,
            "projected_assists": 0,
            "assist_probability": 0.1611,
            "finishing_factor": 1.0831,
            "creation_factor": 0.8843,
            "fifa_overall": 84.0
          },
          "latest_10_games": [
            {
              "match_id": 16421086,
              "match_date": "2026-10-25",
              "home_team": "Real Sociedad",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0283,
                "expected_assists": 0.0098,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 58,
                "accurate_pass": 50,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 1,
                "aerial_won": 0,
                "duels_won": 2,
                "ball_recovery": 4,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 17122851,
              "match_date": "2026-10-21",
              "home_team": "Levante UD",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.022,
                "expected_assists": 0.2673,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 44,
                "accurate_pass": 36,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 2,
                "clearances": 2,
                "aerial_won": 0,
                "duels_won": 3,
                "ball_recovery": 4,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 89,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0413,
                "expected_assists": 0.1096,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 44,
                "accurate_pass": 39,
                "key_pass": 2,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416294,
              "match_date": "2026-09-20",
              "home_team": "Villarreal",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 5.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0854,
                "total_shots": 0,
                "total_pass": 37,
                "accurate_pass": 22,
                "key_pass": 2,
                "tackles": 4,
                "tackles_won": 2,
                "clearances": 1,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416329,
              "match_date": "2026-09-13",
              "home_team": "Levante UD",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 59,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0149,
                "expected_assists": 0.049,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 16,
                "accurate_pass": 10,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416320,
              "match_date": "2026-09-06",
              "home_team": "Málaga CF",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 86,
                "rating": 7.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1046,
                "expected_assists": 0.0719,
                "total_shots": 1,
                "total_pass": 28,
                "accurate_pass": 16,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 2,
                "aerial_won": 2,
                "duels_won": 10,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416309,
              "match_date": "2026-08-29",
              "home_team": "Levante UD",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 90,
                "rating": 8.2,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.4022,
                "expected_assists": 0.2223,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 36,
                "accurate_pass": 26,
                "key_pass": 4,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 3,
                "duels_won": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416296,
              "match_date": "2026-08-24",
              "home_team": "Osasuna",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.046,
                "expected_assists": 0.3266,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 39,
                "accurate_pass": 28,
                "key_pass": 3,
                "tackles": 3,
                "tackles_won": 3,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421053,
              "match_date": "2026-08-16",
              "home_team": "Espanyol",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0046,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 12,
                "tackles": 2,
                "interceptions": 2,
                "clearances": 1,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083710,
              "match_date": "2026-05-23",
              "home_team": "Real Betis",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 78,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.5572,
                "expected_assists": 0.1179,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 22,
                "accurate_pass": 19,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 320,
            "combined_rank_score": 210.0,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 217.0,
            "sofascore_rating": 7.1667,
            "sofascore_appearances": 3.0,
            "fifa_rank": 203.0,
            "fifa_overall": 84.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8694,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jon Ander Olasagasti",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Juan Musso",
                  "ranking": 315
                },
                {
                  "player_name": "Ju-kong Kim",
                  "ranking": 316
                },
                {
                  "player_name": "Jae-yong Bak",
                  "ranking": 317
                },
                {
                  "player_name": "Bryan Mbeumo",
                  "ranking": 318
                },
                {
                  "player_name": "Sandzhar Kuvvatov",
                  "ranking": 319
                }
              ],
              "lower": [
                {
                  "player_name": "Mario Rivas",
                  "ranking": 321
                },
                {
                  "player_name": "Nico Paz",
                  "ranking": 322
                },
                {
                  "player_name": "Unai Simón",
                  "ranking": 323
                },
                {
                  "player_name": "Aleksandre Andronikashvili",
                  "ranking": 324
                },
                {
                  "player_name": "Javier Correa",
                  "ranking": 325
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 42,
          "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",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "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",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 42,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 0.9978,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (M_service) evaluated 42 historical appearances across 8 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 1.4357,
                "expected_assists": 0.1231,
                "assists": 0.1031,
                "assist_rate": 0.1031,
                "expected_goals": 0.0826,
                "goals": 0.0956,
                "goal_rate": 0.0956,
                "shots_on_target": 0.3528,
                "total_shots": 1.111,
                "rating": 6.8694,
                "minutes": 85.84,
                "total_pass": 36.949,
                "accurate_pass": 28.5585,
                "duels_won": 4.0108,
                "total_long_balls": 4.3116,
                "accurate_long_balls": 1.7808,
                "total_own_half_passes": 17.5757,
                "accurate_own_half_passes": 15.4079,
                "total_opp_half_passes": 19.3733,
                "accurate_opp_half_passes": 13.1506,
                "crosses_total": 4.7072,
                "crosses_accurate": 0.9514,
                "touches": 53.6897,
                "possession_lost": 14.8118,
                "dispossessed": 0.5811,
                "duels_lost": 3.7756,
                "aerial_won": 0.4436,
                "aerial_lost": 1.0476,
                "interceptions": 0.7749,
                "tackles_won": 1.2304,
                "tackles": 1.7631,
                "clearances": 0.9336,
                "total_contest": 1.1431,
                "won_contest": 0.7208,
                "challenges_lost": 0.766,
                "fouls": 0.9742,
                "fouls_drawn": 1.0832,
                "blocks": 0.3536,
                "big_chances_created": 0.3724,
                "big_chances_missed": 0.0566,
                "xgot": 0.1187,
                "ball_carries": 13.7087,
                "total_progression": 61.3702,
                "progressive_carries": 1.3958,
                "shots_off_target": 0.7582
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Real Sociedad",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1502,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-10-21",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1276,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Sevilla",
                    "minutes": 89.0,
                    "is_starting": true,
                    "weight": 0.1085,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 5.9
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "FC Barcelona",
                    "minutes": 59.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Málaga CF",
                    "minutes": 86.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Real Betis",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 8.2
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-08-16",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-05-23",
                    "opponent": "Real Betis",
                    "minutes": 78.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 7.0
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalShots": 1.1521,
                  "creative_index": 0.7216,
                  "expectedGoals": 0.0858,
                  "expectedAssists": 0.1294,
                  "totalOppositionHalfPasses": 19.1278
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 1.4356532096862793,
                    "model_output": 1.4357,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "creative_index",
                          "contribution": 0.1496
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1428
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.1081
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.1069
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0727
                        }
                      ],
                      "others": 0.1107,
                      "total": 1.4357,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "creative_index",
                          "margin": 0.155333
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.12867
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.087432
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.079567
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.053431
                        }
                      ],
                      "others_margin": 0.080275
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.12309456616640091,
                    "model_output": 0.1231,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": 0.0115
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0117
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0098
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0072
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0063
                        }
                      ],
                      "others": 0.0043,
                      "total": 0.1231,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": 0.127325
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.114233
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.086612
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.058882
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.051265
                        }
                      ],
                      "others_margin": 0.03519
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.10305856913328171,
                    "model_output": 0.1031,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": 0.009
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0072
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0076
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0072
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0036
                        }
                      ],
                      "others": -0.0021,
                      "total": 0.1031,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": 0.101036
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.074076
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.072731
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.068488
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.035215
                        }
                      ],
                      "others_margin": -0.022192
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.08261054009199142,
                    "model_output": 0.0826,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0117
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0081
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0076
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0052
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0045
                        }
                      ],
                      "others": -0.0103,
                      "total": 0.0826,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.120253
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.081598
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.077376
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.05154
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.04752
                        }
                      ],
                      "others_margin": -0.118413
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.09558075666427612,
                    "model_output": 0.0956,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0182
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0119
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0115
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0093
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0049
                        }
                      ],
                      "others": -0.0038,
                      "total": 0.0956,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.17487
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.100325
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.096354
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.084954
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.048364
                        }
                      ],
                      "others_margin": -0.039277
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.35278648138046265,
                    "model_output": 0.3528,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0576
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.055
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0255
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0192
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0098
                        }
                      ],
                      "others": -0.0432,
                      "total": 0.3528,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.166205
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.136579
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.061048
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.048531
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.025084
                        }
                      ],
                      "others_margin": -0.115409
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.110946536064148,
                    "model_output": 1.1109,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1489
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0884
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0347
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0235
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0157
                        }
                      ],
                      "others": -0.0836,
                      "total": 1.1109,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.148909
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.08844
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.034682
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.023504
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.015658
                        }
                      ],
                      "others_margin": -0.083676
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.869441032409668,
                    "model_output": 6.8694,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0304
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0302
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0285
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0163
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0159
                        }
                      ],
                      "others": -0.0175,
                      "total": 6.8694,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.030444
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.03022
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.028495
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.016273
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.015898
                        }
                      ],
                      "others_margin": -0.017549
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 42,
                  "role_matches": 27,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9978, quality 0.437)",
              "stats": {
                "key_pass": 1.4325,
                "expected_assists": 0.1228,
                "assists": 0.1028,
                "assist_rate": 0.1028,
                "expected_goals": 0.0824,
                "goals": 0.0954,
                "goal_rate": 0.0954,
                "shots_on_target": 0.352,
                "total_shots": 1.1085,
                "rating": 6.8694,
                "minutes": 85.84,
                "total_pass": 36.8677,
                "accurate_pass": 28.4957,
                "duels_won": 4.002,
                "total_long_balls": 4.3021,
                "accurate_long_balls": 1.7769,
                "total_own_half_passes": 17.537,
                "accurate_own_half_passes": 15.374,
                "total_opp_half_passes": 19.3307,
                "accurate_opp_half_passes": 13.1217,
                "crosses_total": 4.6968,
                "crosses_accurate": 0.9493,
                "touches": 53.5716,
                "possession_lost": 14.7792,
                "dispossessed": 0.5798,
                "duels_lost": 3.7673,
                "aerial_won": 0.4426,
                "aerial_lost": 1.0453,
                "interceptions": 0.7732,
                "tackles_won": 1.2277,
                "tackles": 1.7592,
                "clearances": 0.9315,
                "total_contest": 1.1406,
                "won_contest": 0.7192,
                "challenges_lost": 0.7643,
                "fouls": 0.9721,
                "fouls_drawn": 1.0808,
                "blocks": 0.3528,
                "big_chances_created": 0.3716,
                "big_chances_missed": 0.0565,
                "xgot": 0.1184,
                "ball_carries": 13.6785,
                "total_progression": 61.2352,
                "progressive_carries": 1.3927,
                "shots_off_target": 0.7565
              },
              "params": {
                "market_value_eur": 2700000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9978,
                "reference_quality": 0.505,
                "history_matches": 42,
                "history_shrink": 0.1064,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1.4325,
                "expected_assists": 0.1228,
                "assists": 0.1028,
                "assist_rate": 0.1028,
                "expected_goals": 0.0824,
                "goals": 0.0954,
                "goal_rate": 0.0954,
                "shots_on_target": 0.352,
                "total_shots": 1.1085,
                "rating": 6.8694,
                "minutes": 85.84,
                "total_pass": 36.8677,
                "accurate_pass": 28.4957,
                "duels_won": 4.002,
                "total_long_balls": 4.3021,
                "accurate_long_balls": 1.7769,
                "total_own_half_passes": 17.537,
                "accurate_own_half_passes": 15.374,
                "total_opp_half_passes": 19.3307,
                "accurate_opp_half_passes": 13.1217,
                "crosses_total": 4.6968,
                "crosses_accurate": 0.9493,
                "touches": 53.5716,
                "possession_lost": 14.7792,
                "dispossessed": 0.5798,
                "duels_lost": 3.7673,
                "aerial_won": 0.4426,
                "aerial_lost": 1.0453,
                "interceptions": 0.7732,
                "tackles_won": 1.2277,
                "tackles": 1.7592,
                "clearances": 0.9315,
                "total_contest": 1.1406,
                "won_contest": 0.7192,
                "challenges_lost": 0.7643,
                "fouls": 0.9721,
                "fouls_drawn": 1.0808,
                "blocks": 0.3528,
                "big_chances_created": 0.3716,
                "big_chances_missed": 0.0565,
                "xgot": 0.1184,
                "ball_carries": 13.6785,
                "total_progression": 61.2352,
                "progressive_carries": 1.3927,
                "shots_off_target": 0.7565
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1.4325,
                "expected_assists": 0.1228,
                "assists": 0.1028,
                "assist_rate": 0.1028,
                "expected_goals": 0.0559,
                "goals": 0.0647,
                "goal_rate": 0.0647,
                "shots_on_target": 0.2387,
                "total_shots": 0.7518,
                "rating": 6.8694,
                "minutes": 85.84,
                "total_pass": 36.8677,
                "accurate_pass": 28.4957,
                "duels_won": 4.002,
                "total_long_balls": 4.3021,
                "accurate_long_balls": 1.7769,
                "total_own_half_passes": 17.537,
                "accurate_own_half_passes": 15.374,
                "total_opp_half_passes": 19.3307,
                "accurate_opp_half_passes": 13.1217,
                "crosses_total": 4.6968,
                "crosses_accurate": 0.9493,
                "touches": 53.5716,
                "possession_lost": 14.7792,
                "dispossessed": 0.5798,
                "duels_lost": 3.7673,
                "aerial_won": 0.9,
                "aerial_lost": 1.0453,
                "interceptions": 0.7732,
                "tackles_won": 1.2277,
                "tackles": 1.7592,
                "clearances": 0.9315,
                "total_contest": 1.1406,
                "won_contest": 0.7192,
                "challenges_lost": 0.7643,
                "fouls": 0.9721,
                "fouls_drawn": 1.0808,
                "blocks": 0.3528,
                "big_chances_created": 0.3716,
                "big_chances_missed": 0.0383,
                "xgot": 0.0803,
                "ball_carries": 13.6785,
                "total_progression": 61.2352,
                "progressive_carries": 1.3927,
                "shots_off_target": 0.5131,
                "duel_xg_multiplier": 0.6782,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.231,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morten Hjulmand",
                "opponent_faced": "Morten Hjulmand",
                "antagonist_source": "attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Morten Hjulmand",
                  "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                  "duel_win_rate": 0.231,
                  "pressing_faced": "ULTRA_HIGH",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 0.6782,
                  "skill_edge": -0.1829,
                  "height_edge": -0.036,
                  "attacker_skill": 0.4374,
                  "defender_skill": 0.8439,
                  "attacker_role": "CM",
                  "attacker_mv_price_index": 0.9,
                  "defender_adjusted_parts": [
                    {
                      "player": "Morten Hjulmand",
                      "market_value": 48000000,
                      "role": "CDM",
                      "price_index": 0.85,
                      "adjusted_quality": 0.8439
                    }
                  ],
                  "xg_override": 0.0559
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.4426,
                  "after": 0.9
                },
                {
                  "stat": "totalShots",
                  "before": 1.1085,
                  "after": 0.7518
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.7565,
                  "after": 0.5131
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.352,
                  "after": 0.2387
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.1184,
                  "after": 0.0803
                },
                {
                  "stat": "goals",
                  "before": 0.0954,
                  "after": 0.0647
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.0824,
                  "after": 0.0559
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.0565,
                  "after": 0.0383
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 1.4325,
                "expected_assists": 0.1228,
                "assist_rate": 0.1028,
                "assists": 0,
                "expected_goals": 0.0559,
                "goal_rate": 0.0647,
                "goals": 0,
                "shots_on_target": 0.2387,
                "total_shots": 0.7518,
                "rating": 6.8694,
                "minutes": 85.84,
                "total_pass": 36.8677,
                "accurate_pass": 28.4957,
                "duels_won": 4.002,
                "total_long_balls": 4.3021,
                "accurate_long_balls": 1.7769,
                "total_own_half_passes": 17.537,
                "accurate_own_half_passes": 15.374,
                "total_opp_half_passes": 19.3307,
                "accurate_opp_half_passes": 13.1217,
                "crosses_total": 4.6968,
                "crosses_accurate": 0.9493,
                "touches": 53.5716,
                "possession_lost": 14.7792,
                "dispossessed": 0.5798,
                "duels_lost": 3.7673,
                "aerial_won": 0.9,
                "aerial_lost": 1.0453,
                "interceptions": 0.7732,
                "tackles_won": 1.2277,
                "tackles": 1.7592,
                "clearances": 0.9315,
                "total_contest": 1.1406,
                "won_contest": 0.7192,
                "challenges_lost": 0.7643,
                "fouls": 0.9721,
                "fouls_drawn": 1.0808,
                "blocks": 0.3528,
                "big_chances_created": 0.3716,
                "big_chances_missed": 0.0383,
                "xgot": 0.0803,
                "ball_carries": 13.6785,
                "total_progression": 61.2352,
                "progressive_carries": 1.3927,
                "shots_off_target": 0.5131,
                "duel_xg_multiplier": 0.6782,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.231,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morten Hjulmand",
                "opponent_faced": "Morten Hjulmand",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.19 (squad xG sum 0.9866, xG scale 1.2071, xA scale 1.4295, team xA 0.77 = 0.65 x lambda)",
              "stats": {
                "key_pass": 1.4325,
                "expected_assists": 0.1757,
                "assist_rate": 0.1028,
                "assists": 0,
                "expected_goals": 0.0675,
                "goal_rate": 0.0647,
                "goals": 0,
                "shots_on_target": 0.2387,
                "total_shots": 0.7518,
                "rating": 6.8694,
                "minutes": 85.84,
                "total_pass": 36.8677,
                "accurate_pass": 28.4957,
                "duels_won": 4.002,
                "total_long_balls": 4.3021,
                "accurate_long_balls": 1.7769,
                "total_own_half_passes": 17.537,
                "accurate_own_half_passes": 15.374,
                "total_opp_half_passes": 19.3307,
                "accurate_opp_half_passes": 13.1217,
                "crosses_total": 4.6968,
                "crosses_accurate": 0.9493,
                "touches": 53.5716,
                "possession_lost": 14.7792,
                "dispossessed": 0.5798,
                "duels_lost": 3.7673,
                "aerial_won": 0.9,
                "aerial_lost": 1.0453,
                "interceptions": 0.7732,
                "tackles_won": 1.2277,
                "tackles": 1.7592,
                "clearances": 0.9315,
                "total_contest": 1.1406,
                "won_contest": 0.7192,
                "challenges_lost": 0.7643,
                "fouls": 0.9721,
                "fouls_drawn": 1.0808,
                "blocks": 0.3528,
                "big_chances_created": 0.3716,
                "big_chances_missed": 0.0383,
                "xgot": 0.0969,
                "ball_carries": 13.6785,
                "total_progression": 61.2352,
                "progressive_carries": 1.3927,
                "shots_off_target": 0.5131,
                "duel_xg_multiplier": 0.6782,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.231,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morten Hjulmand",
                "opponent_faced": "Morten Hjulmand",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0831,
                "creation_factor": 0.8843
              },
              "params": {
                "team_lambda": 1.191,
                "squad_xg_sum": 0.9866,
                "squad_xa_sum": 0.5416,
                "team_expected_assists": 0.7742,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.2071,
                "xa_scale": 1.4295,
                "opponent_lambda": 2.266,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0559,
                  "after": 0.0675
                },
                {
                  "stat": "expected_assists",
                  "before": 0.1228,
                  "after": 0.1757
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 4 by projected rating, fifa_overall 84.0)",
              "stats": {
                "key_pass": 1.4325,
                "expected_assists": 0.1757,
                "assist_rate": 0.1028,
                "assists": 0,
                "expected_goals": 0.0675,
                "goal_rate": 0.0647,
                "goals": 0,
                "shots_on_target": 0.2387,
                "total_shots": 0.7518,
                "rating": 6.8694,
                "minutes": 85.84,
                "total_pass": 36.8677,
                "accurate_pass": 28.4957,
                "duels_won": 4.002,
                "total_long_balls": 4.3021,
                "accurate_long_balls": 1.7769,
                "total_own_half_passes": 17.537,
                "accurate_own_half_passes": 15.374,
                "total_opp_half_passes": 19.3307,
                "accurate_opp_half_passes": 13.1217,
                "crosses_total": 4.6968,
                "crosses_accurate": 0.9493,
                "touches": 53.5716,
                "possession_lost": 14.7792,
                "dispossessed": 0.5798,
                "duels_lost": 3.7673,
                "aerial_won": 0.9,
                "aerial_lost": 1.0453,
                "interceptions": 0.7732,
                "tackles_won": 1.2277,
                "tackles": 1.7592,
                "clearances": 0.9315,
                "total_contest": 1.1406,
                "won_contest": 0.7192,
                "challenges_lost": 0.7643,
                "fouls": 0.9721,
                "fouls_drawn": 1.0808,
                "blocks": 0.3528,
                "big_chances_created": 0.3716,
                "big_chances_missed": 0.0383,
                "xgot": 0.0969,
                "ball_carries": 13.6785,
                "total_progression": 61.2352,
                "progressive_carries": 1.3927,
                "shots_off_target": 0.5131,
                "duel_xg_multiplier": 0.6782,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.231,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morten Hjulmand",
                "opponent_faced": "Morten Hjulmand",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0831,
                "creation_factor": 0.8843,
                "fifa_overall": 84.0
              },
              "params": {
                "match_squad_rank": 4,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 320,
                "fifa_rank": 203.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 84.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 1.4325,
                "expected_assists": 0.1757,
                "assist_rate": 0.1028,
                "assists": 0,
                "expected_goals": 0.0675,
                "goal_rate": 0.0647,
                "goals": 0,
                "shots_on_target": 0.2387,
                "total_shots": 0.7518,
                "rating": 6.8694,
                "minutes": 85.84,
                "total_pass": 36.8677,
                "accurate_pass": 28.4957,
                "duels_won": 4.002,
                "total_long_balls": 4.3021,
                "accurate_long_balls": 1.7769,
                "total_own_half_passes": 17.537,
                "accurate_own_half_passes": 15.374,
                "total_opp_half_passes": 19.3307,
                "accurate_opp_half_passes": 13.1217,
                "crosses_total": 4.6968,
                "crosses_accurate": 0.9493,
                "touches": 53.5716,
                "possession_lost": 14.7792,
                "dispossessed": 0.5798,
                "duels_lost": 3.7673,
                "aerial_won": 0.9,
                "aerial_lost": 1.0453,
                "interceptions": 0.7732,
                "tackles_won": 1.2277,
                "tackles": 1.7592,
                "clearances": 0.9315,
                "total_contest": 1.1406,
                "won_contest": 0.7192,
                "challenges_lost": 0.7643,
                "fouls": 0.9721,
                "fouls_drawn": 1.0808,
                "blocks": 0.3528,
                "big_chances_created": 0.3716,
                "big_chances_missed": 0.0383,
                "xgot": 0.0969,
                "ball_carries": 13.6785,
                "total_progression": 61.2352,
                "progressive_carries": 1.3927,
                "shots_off_target": 0.5131,
                "duel_xg_multiplier": 0.6782,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.231,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morten Hjulmand",
                "opponent_faced": "Morten Hjulmand",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0653,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0831,
                "creation_factor": 0.8843,
                "fifa_overall": 84.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0653,
                "goal_rate": 0.0647,
                "scorer_weight": 0.0731,
                "squad_weight_total": 1.3229,
                "weight_share": 0.0553,
                "finishing_factor": 1.0831,
                "appearance_weight": 1.0,
                "weight_rank": 7,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Roger Brugué",
                    "weight": 0.315,
                    "already": 0,
                    "effective_weight": 0.315,
                    "runner_up": "Iván Romero",
                    "runner_up_effective_weight": 0.2553
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 1.4325,
                "expected_assists": 0.1757,
                "assist_rate": 0.1028,
                "assists": 0,
                "expected_goals": 0.0675,
                "goal_rate": 0.0647,
                "goals": 0,
                "shots_on_target": 0.2387,
                "total_shots": 0.7518,
                "rating": 6.8694,
                "minutes": 85.84,
                "total_pass": 36.8677,
                "accurate_pass": 28.4957,
                "duels_won": 4.002,
                "total_long_balls": 4.3021,
                "accurate_long_balls": 1.7769,
                "total_own_half_passes": 17.537,
                "accurate_own_half_passes": 15.374,
                "total_opp_half_passes": 19.3307,
                "accurate_opp_half_passes": 13.1217,
                "crosses_total": 4.6968,
                "crosses_accurate": 0.9493,
                "touches": 53.5716,
                "possession_lost": 14.7792,
                "dispossessed": 0.5798,
                "duels_lost": 3.7673,
                "aerial_won": 0.9,
                "aerial_lost": 1.0453,
                "interceptions": 0.7732,
                "tackles_won": 1.2277,
                "tackles": 1.7592,
                "clearances": 0.9315,
                "total_contest": 1.1406,
                "won_contest": 0.7192,
                "challenges_lost": 0.7643,
                "fouls": 0.9721,
                "fouls_drawn": 1.0808,
                "blocks": 0.3528,
                "big_chances_created": 0.3716,
                "big_chances_missed": 0.0383,
                "xgot": 0.0969,
                "ball_carries": 13.6785,
                "total_progression": 61.2352,
                "progressive_carries": 1.3927,
                "shots_off_target": 0.5131,
                "duel_xg_multiplier": 0.6782,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.231,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morten Hjulmand",
                "opponent_faced": "Morten Hjulmand",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0653,
                "projected_assists": 0,
                "assist_probability": 0.1611,
                "finishing_factor": 1.0831,
                "creation_factor": 0.8843,
                "fifa_overall": 84.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.1611,
                "assist_rate": 0.1028,
                "provider_weight": 0.1554,
                "squad_weight_total": 0.7982,
                "weight_share": 0.1946,
                "creation_factor": 0.8843,
                "appearance_weight": 1.0,
                "weight_rank": 2,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Thiago Fernández",
                    "weight": 0.1951,
                    "already": 0,
                    "effective_weight": 0.1951,
                    "runner_up": "Jon Ander Olasagasti",
                    "runner_up_effective_weight": 0.1554,
                    "blocked_own_goal": [
                      "Roger Brugué"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Manuel Sánchez": {
          "player_id": 984789,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 23,
          "height": 179,
          "market_value": 6400000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 1,
            "total_shots": 0,
            "rating": 6.7545,
            "minutes": 84,
            "total_pass": 34,
            "accurate_pass": 29,
            "duels_won": 5,
            "total_long_balls": 5,
            "accurate_long_balls": 2,
            "total_own_half_passes": 19,
            "accurate_own_half_passes": 17,
            "total_opp_half_passes": 15,
            "accurate_opp_half_passes": 12,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 57,
            "possession_lost": 9.6104,
            "dispossessed": 0.627,
            "duels_lost": 5,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 3,
            "challenges_lost": 2,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 1,
            "goal_rate": 0.0015,
            "goals": 0,
            "assist_rate": 0.0154,
            "assists": 0,
            "expected_goals": 0.0094,
            "expected_assists": 0.0716,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0091,
            "ball_carries": 13,
            "total_progression": 49,
            "progressive_carries": 1,
            "key_pass": 0,
            "shots_off_target": 0,
            "opponent_faced": "Kang-in Lee",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.0094,
            "projected_assists": 0,
            "assist_probability": 0.0691,
            "finishing_factor": 0.891,
            "creation_factor": 0.8,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16421086,
              "match_date": "2026-10-25",
              "home_team": "Real Sociedad",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0109,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 24,
                "accurate_pass": 21,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 0,
                "duels_won": 3,
                "ball_recovery": 3,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 17122851,
              "match_date": "2026-10-21",
              "home_team": "Levante UD",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0409,
                "expected_assists": 0.0457,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 35,
                "accurate_pass": 28,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 3,
                "clearances": 4,
                "aerial_won": 0,
                "duels_won": 2,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421070,
              "match_date": "2026-10-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 47,
                "rating": 6.7,
                "expected_assists": 0.0015,
                "total_shots": 0,
                "total_pass": 11,
                "accurate_pass": 11,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 2,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1235,
                "total_shots": 0,
                "total_pass": 64,
                "accurate_pass": 59,
                "key_pass": 1,
                "tackles": 6,
                "tackles_won": 3,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 11,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416294,
              "match_date": "2026-09-20",
              "home_team": "Villarreal",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.005,
                "total_shots": 0,
                "total_pass": 41,
                "accurate_pass": 29,
                "tackles": 4,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 8,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416329,
              "match_date": "2026-09-13",
              "home_team": "Levante UD",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 71,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.003,
                "total_shots": 0,
                "total_pass": 23,
                "accurate_pass": 18,
                "tackles": 4,
                "tackles_won": 2,
                "clearances": 1,
                "duels_won": 6,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416320,
              "match_date": "2026-09-06",
              "home_team": "Málaga CF",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 8.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0585,
                "total_shots": 0,
                "total_pass": 49,
                "accurate_pass": 44,
                "key_pass": 1,
                "tackles": 12,
                "tackles_won": 8,
                "clearances": 2,
                "duels_won": 14,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416309,
              "match_date": "2026-08-29",
              "home_team": "Levante UD",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0032,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 23,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 5,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416296,
              "match_date": "2026-08-24",
              "home_team": "Osasuna",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0063,
                "expected_assists": 0.0285,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 59,
                "accurate_pass": 50,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 3,
                "clearances": 6,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421053,
              "match_date": "2026-08-16",
              "home_team": "Espanyol",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 6.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0138,
                "total_shots": 0,
                "total_pass": 63,
                "accurate_pass": 55,
                "tackles": 3,
                "tackles_won": 2,
                "aerial_won": 1,
                "duels_won": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2393,
            "combined_rank_score": 1048.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 867.0,
            "sofascore_rating": 6.5576,
            "sofascore_appearances": 33.0,
            "fifa_rank": 1230.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7545,
            "source_file": "data/player_rankings.csv",
            "player_name": "Manuel Sánchez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Daniel Londoño",
                  "ranking": 2388
                },
                {
                  "player_name": "Moisés González",
                  "ranking": 2389
                },
                {
                  "player_name": "António Silva",
                  "ranking": 2390
                },
                {
                  "player_name": "Carl Starfelt",
                  "ranking": 2391
                },
                {
                  "player_name": "Max Kilman",
                  "ranking": 2392
                }
              ],
              "lower": [
                {
                  "player_name": "Mukhammadkarim Toirov",
                  "ranking": 2394
                },
                {
                  "player_name": "Gabriel Cléúr",
                  "ranking": 2395
                },
                {
                  "player_name": "Carlo Villanueva",
                  "ranking": 2396
                },
                {
                  "player_name": "Sardor Rakhmanov",
                  "ranking": 2397
                },
                {
                  "player_name": "Giannis Konstantelias",
                  "ranking": 2398
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 43,
          "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",
              "totalTackle",
              "totalShots",
              "rating",
              "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",
              "totalShots",
              "rating"
            ],
            "history_matches": 43,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 0.9992,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (D_service) evaluated 43 historical appearances across 7 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 1.0962,
                "tackles": 2.4798,
                "tackles_won": 1.4995,
                "clearances": 2.784,
                "aerial_won": 0.7071,
                "total_shots": 0.4078,
                "rating": 6.7545,
                "minutes": 84.28,
                "total_pass": 34.4896,
                "accurate_pass": 29.2209,
                "duels_won": 4.9527,
                "total_long_balls": 4.6357,
                "accurate_long_balls": 1.7922,
                "total_own_half_passes": 19.3492,
                "accurate_own_half_passes": 17.4284,
                "total_opp_half_passes": 15.1404,
                "accurate_opp_half_passes": 11.7926,
                "crosses_total": 1.2364,
                "crosses_accurate": 0.3426,
                "touches": 56.9354,
                "possession_lost": 9.6181,
                "dispossessed": 0.6275,
                "duels_lost": 4.5808,
                "aerial_lost": 1.0253,
                "total_contest": 1.1837,
                "won_contest": 0.6407,
                "ball_recovery": 3.2639,
                "challenges_lost": 1.538,
                "fouls": 0.8582,
                "fouls_drawn": 0.7982,
                "blocks": 0.7329,
                "goals": 0.0015,
                "goal_rate": 0.0015,
                "assists": 0.0154,
                "assist_rate": 0.0154,
                "expected_goals": 0.0078,
                "expected_assists": 0.0501,
                "shots_on_target": 0.1591,
                "big_chances_created": 0.0482,
                "xgot": 0.0075,
                "ball_carries": 13.3138,
                "total_progression": 49.1302,
                "progressive_carries": 0.7429,
                "key_pass": 0.4959,
                "shots_off_target": 0.2487
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Real Sociedad",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1501,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-10-21",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1276,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-10-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 47.0,
                    "is_starting": true,
                    "weight": 0.1085,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Sevilla",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "FC Barcelona",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 8.0
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Real Betis",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-08-16",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.0
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 2.541,
                  "aerialWon": 0.4397,
                  "totalClearance_p90": 2.8843,
                  "totalTackle": 3.1039,
                  "totalPass": 33.8781
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 1.0962224006652832,
                    "model_output": 1.0962,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1159
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.048
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0228
                        },
                        {
                          "name": "challengeLost",
                          "contribution": 0.0208
                        },
                        {
                          "name": "tackle_success_rate",
                          "contribution": 0.0145
                        }
                      ],
                      "others": 0.0513,
                      "total": 1.0962,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.125304
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.047578
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.022326
                        },
                        {
                          "name": "challengeLost",
                          "margin": 0.020357
                        },
                        {
                          "name": "tackle_success_rate",
                          "margin": 0.014015
                        }
                      ],
                      "others_margin": 0.04791
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 2.4797842502593994,
                    "model_output": 2.4798,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.2144
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.211
                        },
                        {
                          "name": "challengeLost",
                          "contribution": 0.1548
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.1378
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.1275
                        }
                      ],
                      "others": 0.2486,
                      "total": 2.4798,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.143862
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.123864
                        },
                        {
                          "name": "challengeLost",
                          "margin": 0.082037
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.067764
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.058838
                        }
                      ],
                      "others_margin": 0.105621
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 1.49953031539917,
                    "model_output": 1.4995,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1329
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.1026
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0817
                        },
                        {
                          "name": "challengeLost",
                          "contribution": 0.0835
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.068
                        }
                      ],
                      "others": 0.1851,
                      "total": 1.4995,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.14595
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.099703
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.072823
                        },
                        {
                          "name": "challengeLost",
                          "margin": 0.069376
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.053113
                        }
                      ],
                      "others_margin": 0.131772
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 2.783994674682617,
                    "model_output": 2.784,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4744
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.4187
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.3115
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.1823
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.1365
                        }
                      ],
                      "others": -0.0731,
                      "total": 2.784,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.129476
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.11338
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.09355
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.059122
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.046663
                        }
                      ],
                      "others_margin": -0.025937
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.7070881128311157,
                    "model_output": 0.7071,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.454
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1142
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.081
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0649
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0592
                        }
                      ],
                      "others": -0.1256,
                      "total": 0.7071,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": -0.399795
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.116533
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.081246
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.070242
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.068677
                        }
                      ],
                      "others_margin": -0.16353
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.4078294038772583,
                    "model_output": 0.4078,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.1134
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.053
                        },
                        {
                          "name": "duelLost",
                          "contribution": 0.0168
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0109
                        },
                        {
                          "name": "totalProgression",
                          "contribution": 0.0074
                        }
                      ],
                      "others": -0.0236,
                      "total": 0.4078,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.113427
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.053025
                        },
                        {
                          "name": "duelLost",
                          "margin": 0.016811
                        },
                        {
                          "name": "rating",
                          "margin": -0.010927
                        },
                        {
                          "name": "totalProgression",
                          "margin": 0.007423
                        }
                      ],
                      "others_margin": -0.023614
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.75445556640625,
                    "model_output": 6.7545,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0109
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0103
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0102
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0087
                        },
                        {
                          "name": "errorLeadToAShot",
                          "contribution": 0.0085
                        }
                      ],
                      "others": -0.0268,
                      "total": 6.7545,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.010892
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.010303
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.010153
                        },
                        {
                          "name": "rating",
                          "margin": 0.008742
                        },
                        {
                          "name": "errorLeadToAShot",
                          "margin": 0.008507
                        }
                      ],
                      "others_margin": -0.026962
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 43,
                  "role_matches": 41,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9992, quality 0.479)",
              "stats": {
                "interceptions": 1.0953,
                "tackles": 2.4778,
                "tackles_won": 1.4983,
                "clearances": 2.7818,
                "aerial_won": 0.7065,
                "total_shots": 0.4075,
                "rating": 6.7545,
                "minutes": 84.28,
                "total_pass": 34.462,
                "accurate_pass": 29.1975,
                "duels_won": 4.9487,
                "total_long_balls": 4.632,
                "accurate_long_balls": 1.7908,
                "total_own_half_passes": 19.3337,
                "accurate_own_half_passes": 17.4145,
                "total_opp_half_passes": 15.1283,
                "accurate_opp_half_passes": 11.7832,
                "crosses_total": 1.2354,
                "crosses_accurate": 0.3423,
                "touches": 56.8899,
                "possession_lost": 9.6104,
                "dispossessed": 0.627,
                "duels_lost": 4.5771,
                "aerial_lost": 1.0245,
                "total_contest": 1.1828,
                "won_contest": 0.6402,
                "ball_recovery": 3.2613,
                "challenges_lost": 1.5368,
                "fouls": 0.8575,
                "fouls_drawn": 0.7976,
                "blocks": 0.7323,
                "goals": 0.0015,
                "goal_rate": 0.0015,
                "assists": 0.0154,
                "assist_rate": 0.0154,
                "expected_goals": 0.0078,
                "expected_assists": 0.0501,
                "shots_on_target": 0.159,
                "big_chances_created": 0.0482,
                "xgot": 0.0075,
                "ball_carries": 13.3031,
                "total_progression": 49.0909,
                "progressive_carries": 0.7423,
                "key_pass": 0.4955,
                "shots_off_target": 0.2485
              },
              "params": {
                "market_value_eur": 6400000,
                "quality_factor": 0.4793,
                "boost_factor": 0.9992,
                "reference_quality": 0.505,
                "history_matches": 43,
                "history_shrink": 0.1042,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1.0953,
                "tackles": 2.4778,
                "tackles_won": 1.4983,
                "clearances": 2.7818,
                "aerial_won": 0.7065,
                "total_shots": 0.4075,
                "rating": 6.7545,
                "minutes": 84.28,
                "total_pass": 34.462,
                "accurate_pass": 29.1975,
                "duels_won": 4.9487,
                "total_long_balls": 4.632,
                "accurate_long_balls": 1.7908,
                "total_own_half_passes": 19.3337,
                "accurate_own_half_passes": 17.4145,
                "total_opp_half_passes": 15.1283,
                "accurate_opp_half_passes": 11.7832,
                "crosses_total": 1.2354,
                "crosses_accurate": 0.3423,
                "touches": 56.8899,
                "possession_lost": 9.6104,
                "dispossessed": 0.627,
                "duels_lost": 4.5771,
                "aerial_lost": 1.0245,
                "total_contest": 1.1828,
                "won_contest": 0.6402,
                "ball_recovery": 3.2613,
                "challenges_lost": 1.5368,
                "fouls": 0.8575,
                "fouls_drawn": 0.7976,
                "blocks": 0.7323,
                "goals": 0.0015,
                "goal_rate": 0.0015,
                "assists": 0.0154,
                "assist_rate": 0.0154,
                "expected_goals": 0.0078,
                "expected_assists": 0.0501,
                "shots_on_target": 0.159,
                "big_chances_created": 0.0482,
                "xgot": 0.0075,
                "ball_carries": 13.3031,
                "total_progression": 49.0909,
                "progressive_carries": 0.7423,
                "key_pass": 0.4955,
                "shots_off_target": 0.2485
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1.0953,
                "tackles": 2.4778,
                "tackles_won": 1.4983,
                "clearances": 2.7818,
                "aerial_won": 0.7065,
                "total_shots": 0.4075,
                "rating": 6.7545,
                "minutes": 84.28,
                "total_pass": 34.462,
                "accurate_pass": 29.1975,
                "duels_won": 4.9487,
                "total_long_balls": 4.632,
                "accurate_long_balls": 1.7908,
                "total_own_half_passes": 19.3337,
                "accurate_own_half_passes": 17.4145,
                "total_opp_half_passes": 15.1283,
                "accurate_opp_half_passes": 11.7832,
                "crosses_total": 1.2354,
                "crosses_accurate": 0.3423,
                "touches": 56.8899,
                "possession_lost": 9.6104,
                "dispossessed": 0.627,
                "duels_lost": 4.5771,
                "aerial_lost": 1.0245,
                "total_contest": 1.1828,
                "won_contest": 0.6402,
                "ball_recovery": 3.2613,
                "challenges_lost": 1.5368,
                "fouls": 0.8575,
                "fouls_drawn": 0.7976,
                "blocks": 0.7323,
                "goals": 0.0015,
                "goal_rate": 0.0015,
                "assists": 0.0154,
                "assist_rate": 0.0154,
                "expected_goals": 0.0078,
                "expected_assists": 0.0501,
                "shots_on_target": 0.159,
                "big_chances_created": 0.0482,
                "xgot": 0.0075,
                "ball_carries": 13.3031,
                "total_progression": 49.0909,
                "progressive_carries": 0.7423,
                "key_pass": 0.4955,
                "shots_off_target": 0.2485,
                "opponent_faced": "Kang-in Lee",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Kang-in Lee",
                  "matchup_zone": "Shape fallback"
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "interceptions": 1.0953,
                "tackles": 2.4778,
                "tackles_won": 1.4983,
                "clearances": 2.7818,
                "aerial_won": 0.7065,
                "total_shots": 0.4075,
                "rating": 6.7545,
                "minutes": 84.28,
                "total_pass": 34.462,
                "accurate_pass": 29.1975,
                "duels_won": 4.9487,
                "total_long_balls": 4.632,
                "accurate_long_balls": 1.7908,
                "total_own_half_passes": 19.3337,
                "accurate_own_half_passes": 17.4145,
                "total_opp_half_passes": 15.1283,
                "accurate_opp_half_passes": 11.7832,
                "crosses_total": 1.2354,
                "crosses_accurate": 0.3423,
                "touches": 56.8899,
                "possession_lost": 9.6104,
                "dispossessed": 0.627,
                "duels_lost": 4.5771,
                "aerial_lost": 1.0245,
                "total_contest": 1.1828,
                "won_contest": 0.6402,
                "ball_recovery": 3.2613,
                "challenges_lost": 1.5368,
                "fouls": 0.8575,
                "fouls_drawn": 0.7976,
                "blocks": 0.7323,
                "goal_rate": 0.0015,
                "goals": 0,
                "assist_rate": 0.0154,
                "assists": 0,
                "expected_goals": 0.0078,
                "expected_assists": 0.0501,
                "shots_on_target": 0.159,
                "big_chances_created": 0.0482,
                "xgot": 0.0075,
                "ball_carries": 13.3031,
                "total_progression": 49.0909,
                "progressive_carries": 0.7423,
                "key_pass": 0.4955,
                "shots_off_target": 0.2485,
                "opponent_faced": "Kang-in Lee",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.19 (squad xG sum 0.9866, xG scale 1.2071, xA scale 1.4295, team xA 0.77 = 0.65 x lambda)",
              "stats": {
                "interceptions": 1.0953,
                "tackles": 2.4778,
                "tackles_won": 1.4983,
                "clearances": 2.7818,
                "aerial_won": 0.7065,
                "total_shots": 0.4075,
                "rating": 6.7545,
                "minutes": 84.28,
                "total_pass": 34.462,
                "accurate_pass": 29.1975,
                "duels_won": 4.9487,
                "total_long_balls": 4.632,
                "accurate_long_balls": 1.7908,
                "total_own_half_passes": 19.3337,
                "accurate_own_half_passes": 17.4145,
                "total_opp_half_passes": 15.1283,
                "accurate_opp_half_passes": 11.7832,
                "crosses_total": 1.2354,
                "crosses_accurate": 0.3423,
                "touches": 56.8899,
                "possession_lost": 9.6104,
                "dispossessed": 0.627,
                "duels_lost": 4.5771,
                "aerial_lost": 1.0245,
                "total_contest": 1.1828,
                "won_contest": 0.6402,
                "ball_recovery": 3.2613,
                "challenges_lost": 1.5368,
                "fouls": 0.8575,
                "fouls_drawn": 0.7976,
                "blocks": 0.7323,
                "goal_rate": 0.0015,
                "goals": 0,
                "assist_rate": 0.0154,
                "assists": 0,
                "expected_goals": 0.0094,
                "expected_assists": 0.0716,
                "shots_on_target": 0.159,
                "big_chances_created": 0.0482,
                "xgot": 0.0091,
                "ball_carries": 13.3031,
                "total_progression": 49.0909,
                "progressive_carries": 0.7423,
                "key_pass": 0.4955,
                "shots_off_target": 0.2485,
                "opponent_faced": "Kang-in Lee",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.891,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.191,
                "squad_xg_sum": 0.9866,
                "squad_xa_sum": 0.5416,
                "team_expected_assists": 0.7742,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.2071,
                "xa_scale": 1.4295,
                "opponent_lambda": 2.266,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_assists",
                  "before": 0.0501,
                  "after": 0.0716
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 10 by projected rating, fifa_overall 78.0)",
              "stats": {
                "interceptions": 1.0953,
                "tackles": 2.4778,
                "tackles_won": 1.4983,
                "clearances": 2.7818,
                "aerial_won": 0.7065,
                "total_shots": 0.4075,
                "rating": 6.7545,
                "minutes": 84.28,
                "total_pass": 34.462,
                "accurate_pass": 29.1975,
                "duels_won": 4.9487,
                "total_long_balls": 4.632,
                "accurate_long_balls": 1.7908,
                "total_own_half_passes": 19.3337,
                "accurate_own_half_passes": 17.4145,
                "total_opp_half_passes": 15.1283,
                "accurate_opp_half_passes": 11.7832,
                "crosses_total": 1.2354,
                "crosses_accurate": 0.3423,
                "touches": 56.8899,
                "possession_lost": 9.6104,
                "dispossessed": 0.627,
                "duels_lost": 4.5771,
                "aerial_lost": 1.0245,
                "total_contest": 1.1828,
                "won_contest": 0.6402,
                "ball_recovery": 3.2613,
                "challenges_lost": 1.5368,
                "fouls": 0.8575,
                "fouls_drawn": 0.7976,
                "blocks": 0.7323,
                "goal_rate": 0.0015,
                "goals": 0,
                "assist_rate": 0.0154,
                "assists": 0,
                "expected_goals": 0.0094,
                "expected_assists": 0.0716,
                "shots_on_target": 0.159,
                "big_chances_created": 0.0482,
                "xgot": 0.0091,
                "ball_carries": 13.3031,
                "total_progression": 49.0909,
                "progressive_carries": 0.7423,
                "key_pass": 0.4955,
                "shots_off_target": 0.2485,
                "opponent_faced": "Kang-in Lee",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.891,
                "creation_factor": 0.8,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 10,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 2393,
                "fifa_rank": 1230.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 1.0953,
                "tackles": 2.4778,
                "tackles_won": 1.4983,
                "clearances": 2.7818,
                "aerial_won": 0.7065,
                "total_shots": 0.4075,
                "rating": 6.7545,
                "minutes": 84.28,
                "total_pass": 34.462,
                "accurate_pass": 29.1975,
                "duels_won": 4.9487,
                "total_long_balls": 4.632,
                "accurate_long_balls": 1.7908,
                "total_own_half_passes": 19.3337,
                "accurate_own_half_passes": 17.4145,
                "total_opp_half_passes": 15.1283,
                "accurate_opp_half_passes": 11.7832,
                "crosses_total": 1.2354,
                "crosses_accurate": 0.3423,
                "touches": 56.8899,
                "possession_lost": 9.6104,
                "dispossessed": 0.627,
                "duels_lost": 4.5771,
                "aerial_lost": 1.0245,
                "total_contest": 1.1828,
                "won_contest": 0.6402,
                "ball_recovery": 3.2613,
                "challenges_lost": 1.5368,
                "fouls": 0.8575,
                "fouls_drawn": 0.7976,
                "blocks": 0.7323,
                "goal_rate": 0.0015,
                "goals": 0,
                "assist_rate": 0.0154,
                "assists": 0,
                "expected_goals": 0.0094,
                "expected_assists": 0.0716,
                "shots_on_target": 0.159,
                "big_chances_created": 0.0482,
                "xgot": 0.0091,
                "ball_carries": 13.3031,
                "total_progression": 49.0909,
                "progressive_carries": 0.7423,
                "key_pass": 0.4955,
                "shots_off_target": 0.2485,
                "opponent_faced": "Kang-in Lee",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0094,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.891,
                "creation_factor": 0.8,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0094,
                "goal_rate": 0.0015,
                "scorer_weight": 0.0084,
                "squad_weight_total": 1.3229,
                "weight_share": 0.0063,
                "finishing_factor": 0.891,
                "appearance_weight": 1.0,
                "weight_rank": 12,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Roger Brugué",
                    "weight": 0.315,
                    "already": 0,
                    "effective_weight": 0.315,
                    "runner_up": "Iván Romero",
                    "runner_up_effective_weight": 0.2553
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 1.0953,
                "tackles": 2.4778,
                "tackles_won": 1.4983,
                "clearances": 2.7818,
                "aerial_won": 0.7065,
                "total_shots": 0.4075,
                "rating": 6.7545,
                "minutes": 84.28,
                "total_pass": 34.462,
                "accurate_pass": 29.1975,
                "duels_won": 4.9487,
                "total_long_balls": 4.632,
                "accurate_long_balls": 1.7908,
                "total_own_half_passes": 19.3337,
                "accurate_own_half_passes": 17.4145,
                "total_opp_half_passes": 15.1283,
                "accurate_opp_half_passes": 11.7832,
                "crosses_total": 1.2354,
                "crosses_accurate": 0.3423,
                "touches": 56.8899,
                "possession_lost": 9.6104,
                "dispossessed": 0.627,
                "duels_lost": 4.5771,
                "aerial_lost": 1.0245,
                "total_contest": 1.1828,
                "won_contest": 0.6402,
                "ball_recovery": 3.2613,
                "challenges_lost": 1.5368,
                "fouls": 0.8575,
                "fouls_drawn": 0.7976,
                "blocks": 0.7323,
                "goal_rate": 0.0015,
                "goals": 0,
                "assist_rate": 0.0154,
                "assists": 0,
                "expected_goals": 0.0094,
                "expected_assists": 0.0716,
                "shots_on_target": 0.159,
                "big_chances_created": 0.0482,
                "xgot": 0.0091,
                "ball_carries": 13.3031,
                "total_progression": 49.0909,
                "progressive_carries": 0.7423,
                "key_pass": 0.4955,
                "shots_off_target": 0.2485,
                "opponent_faced": "Kang-in Lee",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0094,
                "projected_assists": 0,
                "assist_probability": 0.0691,
                "finishing_factor": 0.891,
                "creation_factor": 0.8,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0691,
                "assist_rate": 0.0154,
                "provider_weight": 0.0573,
                "squad_weight_total": 0.7982,
                "weight_share": 0.0718,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 6,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Thiago Fernández",
                    "weight": 0.1951,
                    "already": 0,
                    "effective_weight": 0.1951,
                    "runner_up": "Jon Ander Olasagasti",
                    "runner_up_effective_weight": 0.1554,
                    "blocked_own_goal": [
                      "Roger Brugué"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Aïssa Mandi": {
          "player_id": 122810,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 2,
          "height": 186,
          "market_value": 1100000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 5,
            "aerial_won": 2,
            "total_shots": 0,
            "rating": 6.793,
            "minutes": 87,
            "total_pass": 45,
            "accurate_pass": 42,
            "duels_won": 3,
            "total_long_balls": 5,
            "accurate_long_balls": 3,
            "total_own_half_passes": 34,
            "accurate_own_half_passes": 33,
            "total_opp_half_passes": 10,
            "accurate_opp_half_passes": 9,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 54,
            "possession_lost": 2.799,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.0037,
            "expected_assists": 0.0091,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 17,
            "total_progression": 40,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "tackles_in_zone": 1.0,
            "tackles_won_in_zone": 0.8,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.658,
            "opponent_faced": "Julián Alvarez",
            "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.0037,
            "projected_assists": 0,
            "assist_probability": 0.0091,
            "finishing_factor": 0.9416,
            "creation_factor": 0.8865,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16421086,
              "match_date": "2026-10-25",
              "home_team": "Real Sociedad",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0071,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 56,
                "accurate_pass": 55,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 1,
                "aerial_won": 0,
                "duels_won": 1,
                "ball_recovery": 1,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 17122851,
              "match_date": "2026-10-21",
              "home_team": "Levante UD",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0023,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 32,
                "accurate_pass": 30,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 1,
                "clearances": 4,
                "aerial_won": 0,
                "duels_won": 1,
                "ball_recovery": 3,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416294,
              "match_date": "2026-09-20",
              "home_team": "Villarreal",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 63,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0014,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 34,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416329,
              "match_date": "2026-09-13",
              "home_team": "Levante UD",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0144,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 20,
                "key_pass": 2,
                "tackles": 4,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416320,
              "match_date": "2026-09-06",
              "home_team": "Málaga CF",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0064,
                "total_shots": 0,
                "total_pass": 60,
                "accurate_pass": 53,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 3,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416309,
              "match_date": "2026-08-29",
              "home_team": "Levante UD",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.005,
                "total_shots": 0,
                "total_pass": 46,
                "accurate_pass": 45,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 10,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416296,
              "match_date": "2026-08-24",
              "home_team": "Osasuna",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0114,
                "total_shots": 0,
                "total_pass": 64,
                "accurate_pass": 59,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 10,
                "aerial_won": 4,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421053,
              "match_date": "2026-08-16",
              "home_team": "Espanyol",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0467,
                "expected_assists": 0.0074,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 66,
                "accurate_pass": 61,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 2,
                "clearances": 4,
                "aerial_won": 3,
                "duels_won": 6,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1409,
            "combined_rank_score": 583.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 217.0,
            "sofascore_rating": 7.1667,
            "sofascore_appearances": 3.0,
            "fifa_rank": 949.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 5,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.793,
            "source_file": "data/player_rankings.csv",
            "player_name": "Aïssa Mandi",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Troy Parrott",
                  "ranking": 1404
                },
                {
                  "player_name": "Anan Khalaili",
                  "ranking": 1405
                },
                {
                  "player_name": "Guillermo May",
                  "ranking": 1406
                },
                {
                  "player_name": "Pubill",
                  "ranking": 1407
                },
                {
                  "player_name": "Bozhidar Kraev",
                  "ranking": 1408
                }
              ],
              "lower": [
                {
                  "player_name": "Anderson Talisca",
                  "ranking": 1410
                },
                {
                  "player_name": "Berat Djimsiti",
                  "ranking": 1411
                },
                {
                  "player_name": "Samuel Souprayen",
                  "ranking": 1412
                },
                {
                  "player_name": "Zeki Çelik",
                  "ranking": 1413
                },
                {
                  "player_name": "Andrei Rațiu",
                  "ranking": 1414
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.78,
          "history_matches": 8,
          "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",
              "totalTackle",
              "totalShots",
              "rating",
              "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",
              "totalShots",
              "rating"
            ],
            "history_matches": 8,
            "data_confidence": 0.78,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9922,
            "fbref_prior_metrics": {
              "squad": "Levante",
              "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 8 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Levante, rel: 0.20, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.9243,
                "tackles": 1.0949,
                "tackles_won": 0.6385,
                "clearances": 4.9188,
                "aerial_won": 1.5281,
                "total_shots": 0.348,
                "rating": 6.793,
                "minutes": 86.78,
                "total_pass": 45.3081,
                "accurate_pass": 42.636,
                "duels_won": 2.8119,
                "total_long_balls": 4.6589,
                "accurate_long_balls": 3.1811,
                "total_own_half_passes": 34.7608,
                "accurate_own_half_passes": 33.3188,
                "total_opp_half_passes": 10.5474,
                "accurate_opp_half_passes": 9.3173,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 54.4946,
                "possession_lost": 2.821,
                "dispossessed": 0.0,
                "duels_lost": 1.3562,
                "aerial_lost": 0.9053,
                "total_contest": 0.1576,
                "won_contest": 0.1576,
                "ball_recovery": 2.5726,
                "challenges_lost": 0.0,
                "fouls": 0.4508,
                "fouls_drawn": 0.8623,
                "blocks": 0.3744,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0031,
                "expected_assists": 0.0064,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1266,
                "xgot": 0.0,
                "ball_carries": 17.507,
                "total_progression": 40.7713,
                "progressive_carries": 0.0661,
                "key_pass": 0.2532,
                "shots_off_target": 0.348
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Real Sociedad",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2062,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-10-21",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1753,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Villarreal",
                    "minutes": 63.0,
                    "is_starting": true,
                    "weight": 0.149,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1266,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1076,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Real Betis",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0915,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0778,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-08-16",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0661,
                    "rating": 6.9
                  }
                ],
                "feature_row": {
                  "history_matches": 8.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 3.7381,
                  "aerialWon": 0.9679,
                  "totalClearance_p90": 3.8658,
                  "totalTackle": 0.9156,
                  "totalPass": 45.3081
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.924288272857666,
                    "model_output": 0.9243,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1135
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.049
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": -0.0234
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0171
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0169
                        }
                      ],
                      "others": -0.0835,
                      "total": 0.9243,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.122845
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.048709
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": -0.022971
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.016831
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.016609
                        }
                      ],
                      "others_margin": -0.086569
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.09493887424469,
                    "model_output": 1.0949,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1698
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": -0.118
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0808
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0654
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": -0.0533
                        }
                      ],
                      "others": -0.1431,
                      "total": 1.0949,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.115566
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": -0.078925
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.057827
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.049371
                        },
                        {
                          "name": "pass_accuracy",
                          "margin": -0.042193
                        }
                      ],
                      "others_margin": -0.122737
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.6384793519973755,
                    "model_output": 0.6385,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.104
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": -0.0881
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": -0.0561
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0464
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0346
                        }
                      ],
                      "others": -0.086,
                      "total": 0.6385,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.116001
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": -0.097314
                        },
                        {
                          "name": "pass_accuracy",
                          "margin": -0.067355
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.059283
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.046649
                        }
                      ],
                      "others_margin": -0.126481
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 4.918795585632324,
                    "model_output": 4.9188,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.4293
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4746
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.2238
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.1626
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.1525
                        }
                      ],
                      "others": 0.0443,
                      "total": 4.9188,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.11786
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.115923
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.050337
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.035046
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.031793
                        }
                      ],
                      "others_margin": 0.009042
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.5281085968017578,
                    "model_output": 1.5281,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.2215
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1654
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0914
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": 0.0413
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": 0.0391
                        }
                      ],
                      "others": 0.0348,
                      "total": 1.5281,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": -0.175314
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.13375
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.06691
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": 0.028801
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": 0.026564
                        }
                      ],
                      "others_margin": 0.022963
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.34804728627204895,
                    "model_output": 0.348,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.1025
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0468
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0164
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": -0.0084
                        },
                        {
                          "name": "totalProgression",
                          "contribution": 0.0084
                        }
                      ],
                      "others": -0.0584,
                      "total": 0.348,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.102475
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.046847
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.01642
                        },
                        {
                          "name": "duelWon_p90",
                          "margin": -0.008441
                        },
                        {
                          "name": "totalProgression",
                          "margin": 0.008383
                        }
                      ],
                      "others_margin": -0.058385
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.793006896972656,
                    "model_output": 6.793,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "accuratePass",
                          "contribution": 0.0142
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0137
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0132
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": 0.0123
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0117
                        }
                      ],
                      "others": 0.0096,
                      "total": 6.793,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "accuratePass",
                          "margin": 0.014204
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.013661
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.013201
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": 0.012296
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.011723
                        }
                      ],
                      "others_margin": 0.009576
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 8,
                  "role_matches": 8,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9922, quality 0.437)",
              "stats": {
                "interceptions": 0.9171,
                "tackles": 1.0864,
                "tackles_won": 0.6335,
                "clearances": 4.8804,
                "aerial_won": 1.5162,
                "total_shots": 0.3453,
                "rating": 6.793,
                "minutes": 86.78,
                "total_pass": 44.9547,
                "accurate_pass": 42.3034,
                "duels_won": 2.79,
                "total_long_balls": 4.6226,
                "accurate_long_balls": 3.1563,
                "total_own_half_passes": 34.4897,
                "accurate_own_half_passes": 33.0589,
                "total_opp_half_passes": 10.4651,
                "accurate_opp_half_passes": 9.2446,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 54.0695,
                "possession_lost": 2.799,
                "dispossessed": 0.0,
                "duels_lost": 1.3456,
                "aerial_lost": 0.8982,
                "total_contest": 0.1564,
                "won_contest": 0.1564,
                "ball_recovery": 2.5525,
                "challenges_lost": 0.0,
                "fouls": 0.4473,
                "fouls_drawn": 0.8556,
                "blocks": 0.3715,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0031,
                "expected_assists": 0.0064,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1256,
                "xgot": 0.0,
                "ball_carries": 17.3704,
                "total_progression": 40.4533,
                "progressive_carries": 0.0656,
                "key_pass": 0.2512,
                "shots_off_target": 0.3453
              },
              "params": {
                "market_value_eur": 1100000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9922,
                "reference_quality": 0.505,
                "history_matches": 8,
                "history_shrink": 0.3846,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0500)",
              "stats": {
                "interceptions": 0.9195,
                "tackles": 1.0864,
                "tackles_won": 0.6822,
                "clearances": 4.8804,
                "aerial_won": 1.5162,
                "total_shots": 0.3439,
                "rating": 6.793,
                "minutes": 86.78,
                "total_pass": 44.9547,
                "accurate_pass": 42.3034,
                "duels_won": 2.79,
                "total_long_balls": 4.6226,
                "accurate_long_balls": 3.1563,
                "total_own_half_passes": 34.4897,
                "accurate_own_half_passes": 33.0589,
                "total_opp_half_passes": 10.4651,
                "accurate_opp_half_passes": 9.2446,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 54.0695,
                "possession_lost": 2.799,
                "dispossessed": 0.0,
                "duels_lost": 1.3456,
                "aerial_lost": 0.8982,
                "total_contest": 0.1564,
                "won_contest": 0.1564,
                "ball_recovery": 2.5525,
                "challenges_lost": 0.0,
                "fouls": 0.4249,
                "fouls_drawn": 0.845,
                "blocks": 0.3715,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0031,
                "expected_assists": 0.0064,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1256,
                "xgot": 0.0,
                "ball_carries": 17.3704,
                "total_progression": 40.4533,
                "progressive_carries": 0.0656,
                "key_pass": 0.2512,
                "shots_off_target": 0.3453
              },
              "params": {
                "blend_weight": 0.05,
                "history_matches": 8,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9642,
                "prior_reliability": 0.2,
                "competition": "La Liga",
                "squad": "Levante"
              },
              "changes": [
                {
                  "stat": "wonTackle",
                  "before": 0.6335,
                  "after": 0.6822
                },
                {
                  "stat": "fouls",
                  "before": 0.4473,
                  "after": 0.4249
                },
                {
                  "stat": "wasFouled",
                  "before": 0.8556,
                  "after": 0.845
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.9195,
                "tackles": 1.0864,
                "tackles_won": 0.6822,
                "clearances": 4.8804,
                "aerial_won": 1.5162,
                "total_shots": 0.3453,
                "rating": 6.793,
                "minutes": 86.78,
                "total_pass": 44.9547,
                "accurate_pass": 42.3034,
                "duels_won": 2.79,
                "total_long_balls": 4.6226,
                "accurate_long_balls": 3.1563,
                "total_own_half_passes": 34.4897,
                "accurate_own_half_passes": 33.0589,
                "total_opp_half_passes": 10.4651,
                "accurate_opp_half_passes": 9.2446,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 54.0695,
                "possession_lost": 2.799,
                "dispossessed": 0.0,
                "duels_lost": 1.3456,
                "aerial_lost": 0.8982,
                "total_contest": 0.1564,
                "won_contest": 0.1564,
                "ball_recovery": 2.5525,
                "challenges_lost": 0.0,
                "fouls": 0.4249,
                "fouls_drawn": 0.845,
                "blocks": 0.3715,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0031,
                "expected_assists": 0.0064,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1256,
                "xgot": 0.0,
                "ball_carries": 17.3704,
                "total_progression": 40.4533,
                "progressive_carries": 0.0656,
                "key_pass": 0.2512,
                "shots_off_target": 0.3453
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 0.9195,
                "tackles": 1.0864,
                "tackles_won": 0.6822,
                "clearances": 4.8804,
                "aerial_won": 1.5162,
                "total_shots": 0.3453,
                "rating": 6.793,
                "minutes": 86.78,
                "total_pass": 44.9547,
                "accurate_pass": 42.3034,
                "duels_won": 2.79,
                "total_long_balls": 4.6226,
                "accurate_long_balls": 3.1563,
                "total_own_half_passes": 34.4897,
                "accurate_own_half_passes": 33.0589,
                "total_opp_half_passes": 10.4651,
                "accurate_opp_half_passes": 9.2446,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 54.0695,
                "possession_lost": 2.799,
                "dispossessed": 0.0,
                "duels_lost": 1.3456,
                "aerial_lost": 0.8982,
                "total_contest": 0.1564,
                "won_contest": 0.1564,
                "ball_recovery": 2.5525,
                "challenges_lost": 0.0,
                "fouls": 0.4249,
                "fouls_drawn": 0.845,
                "blocks": 0.3715,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0031,
                "expected_assists": 0.0064,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1256,
                "xgot": 0.0,
                "ball_carries": 17.3704,
                "total_progression": 40.4533,
                "progressive_carries": 0.0656,
                "key_pass": 0.2512,
                "shots_off_target": 0.3453,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.8,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.658,
                "opponent_faced": "Julián Alvarez",
                "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"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Julián Alvarez",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle"
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "interceptions": 0.9195,
                "tackles": 1.0864,
                "tackles_won": 0.6822,
                "clearances": 4.8804,
                "aerial_won": 1.5162,
                "total_shots": 0.3453,
                "rating": 6.793,
                "minutes": 86.78,
                "total_pass": 44.9547,
                "accurate_pass": 42.3034,
                "duels_won": 2.79,
                "total_long_balls": 4.6226,
                "accurate_long_balls": 3.1563,
                "total_own_half_passes": 34.4897,
                "accurate_own_half_passes": 33.0589,
                "total_opp_half_passes": 10.4651,
                "accurate_opp_half_passes": 9.2446,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 54.0695,
                "possession_lost": 2.799,
                "dispossessed": 0.0,
                "duels_lost": 1.3456,
                "aerial_lost": 0.8982,
                "total_contest": 0.1564,
                "won_contest": 0.1564,
                "ball_recovery": 2.5525,
                "challenges_lost": 0.0,
                "fouls": 0.4249,
                "fouls_drawn": 0.845,
                "blocks": 0.3715,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0031,
                "expected_assists": 0.0064,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1256,
                "xgot": 0.0,
                "ball_carries": 17.3704,
                "total_progression": 40.4533,
                "progressive_carries": 0.0656,
                "key_pass": 0.2512,
                "shots_off_target": 0.3453,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.8,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.658,
                "opponent_faced": "Julián Alvarez",
                "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
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.19 (squad xG sum 0.9866, xG scale 1.2071, xA scale 1.4295, team xA 0.77 = 0.65 x lambda)",
              "stats": {
                "interceptions": 0.9195,
                "tackles": 1.0864,
                "tackles_won": 0.6822,
                "clearances": 4.8804,
                "aerial_won": 1.5162,
                "total_shots": 0.3453,
                "rating": 6.793,
                "minutes": 86.78,
                "total_pass": 44.9547,
                "accurate_pass": 42.3034,
                "duels_won": 2.79,
                "total_long_balls": 4.6226,
                "accurate_long_balls": 3.1563,
                "total_own_half_passes": 34.4897,
                "accurate_own_half_passes": 33.0589,
                "total_opp_half_passes": 10.4651,
                "accurate_opp_half_passes": 9.2446,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 54.0695,
                "possession_lost": 2.799,
                "dispossessed": 0.0,
                "duels_lost": 1.3456,
                "aerial_lost": 0.8982,
                "total_contest": 0.1564,
                "won_contest": 0.1564,
                "ball_recovery": 2.5525,
                "challenges_lost": 0.0,
                "fouls": 0.4249,
                "fouls_drawn": 0.845,
                "blocks": 0.3715,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0037,
                "expected_assists": 0.0091,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1256,
                "xgot": 0.0,
                "ball_carries": 17.3704,
                "total_progression": 40.4533,
                "progressive_carries": 0.0656,
                "key_pass": 0.2512,
                "shots_off_target": 0.3453,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.8,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.658,
                "opponent_faced": "Julián Alvarez",
                "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,
                "finishing_factor": 0.9416,
                "creation_factor": 0.8865
              },
              "params": {
                "team_lambda": 1.191,
                "squad_xg_sum": 0.9866,
                "squad_xa_sum": 0.5416,
                "team_expected_assists": 0.7742,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.2071,
                "xa_scale": 1.4295,
                "opponent_lambda": 2.266,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 5 by projected rating, fifa_overall 79.0)",
              "stats": {
                "interceptions": 0.9195,
                "tackles": 1.0864,
                "tackles_won": 0.6822,
                "clearances": 4.8804,
                "aerial_won": 1.5162,
                "total_shots": 0.3453,
                "rating": 6.793,
                "minutes": 86.78,
                "total_pass": 44.9547,
                "accurate_pass": 42.3034,
                "duels_won": 2.79,
                "total_long_balls": 4.6226,
                "accurate_long_balls": 3.1563,
                "total_own_half_passes": 34.4897,
                "accurate_own_half_passes": 33.0589,
                "total_opp_half_passes": 10.4651,
                "accurate_opp_half_passes": 9.2446,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 54.0695,
                "possession_lost": 2.799,
                "dispossessed": 0.0,
                "duels_lost": 1.3456,
                "aerial_lost": 0.8982,
                "total_contest": 0.1564,
                "won_contest": 0.1564,
                "ball_recovery": 2.5525,
                "challenges_lost": 0.0,
                "fouls": 0.4249,
                "fouls_drawn": 0.845,
                "blocks": 0.3715,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0037,
                "expected_assists": 0.0091,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1256,
                "xgot": 0.0,
                "ball_carries": 17.3704,
                "total_progression": 40.4533,
                "progressive_carries": 0.0656,
                "key_pass": 0.2512,
                "shots_off_target": 0.3453,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.8,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.658,
                "opponent_faced": "Julián Alvarez",
                "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,
                "finishing_factor": 0.9416,
                "creation_factor": 0.8865,
                "fifa_overall": 79.0
              },
              "params": {
                "match_squad_rank": 5,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1409,
                "fifa_rank": 949.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 79.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 0.9195,
                "tackles": 1.0864,
                "tackles_won": 0.6822,
                "clearances": 4.8804,
                "aerial_won": 1.5162,
                "total_shots": 0.3453,
                "rating": 6.793,
                "minutes": 86.78,
                "total_pass": 44.9547,
                "accurate_pass": 42.3034,
                "duels_won": 2.79,
                "total_long_balls": 4.6226,
                "accurate_long_balls": 3.1563,
                "total_own_half_passes": 34.4897,
                "accurate_own_half_passes": 33.0589,
                "total_opp_half_passes": 10.4651,
                "accurate_opp_half_passes": 9.2446,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 54.0695,
                "possession_lost": 2.799,
                "dispossessed": 0.0,
                "duels_lost": 1.3456,
                "aerial_lost": 0.8982,
                "total_contest": 0.1564,
                "won_contest": 0.1564,
                "ball_recovery": 2.5525,
                "challenges_lost": 0.0,
                "fouls": 0.4249,
                "fouls_drawn": 0.845,
                "blocks": 0.3715,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0037,
                "expected_assists": 0.0091,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1256,
                "xgot": 0.0,
                "ball_carries": 17.3704,
                "total_progression": 40.4533,
                "progressive_carries": 0.0656,
                "key_pass": 0.2512,
                "shots_off_target": 0.3453,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.8,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.658,
                "opponent_faced": "Julián Alvarez",
                "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.0037,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9416,
                "creation_factor": 0.8865,
                "fifa_overall": 79.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0037,
                "goal_rate": 0.0,
                "scorer_weight": 0.0035,
                "squad_weight_total": 1.3229,
                "weight_share": 0.0026,
                "finishing_factor": 0.9416,
                "appearance_weight": 1.0,
                "weight_rank": 13,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Roger Brugué",
                    "weight": 0.315,
                    "already": 0,
                    "effective_weight": 0.315,
                    "runner_up": "Iván Romero",
                    "runner_up_effective_weight": 0.2553
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 0.9195,
                "tackles": 1.0864,
                "tackles_won": 0.6822,
                "clearances": 4.8804,
                "aerial_won": 1.5162,
                "total_shots": 0.3453,
                "rating": 6.793,
                "minutes": 86.78,
                "total_pass": 44.9547,
                "accurate_pass": 42.3034,
                "duels_won": 2.79,
                "total_long_balls": 4.6226,
                "accurate_long_balls": 3.1563,
                "total_own_half_passes": 34.4897,
                "accurate_own_half_passes": 33.0589,
                "total_opp_half_passes": 10.4651,
                "accurate_opp_half_passes": 9.2446,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 54.0695,
                "possession_lost": 2.799,
                "dispossessed": 0.0,
                "duels_lost": 1.3456,
                "aerial_lost": 0.8982,
                "total_contest": 0.1564,
                "won_contest": 0.1564,
                "ball_recovery": 2.5525,
                "challenges_lost": 0.0,
                "fouls": 0.4249,
                "fouls_drawn": 0.845,
                "blocks": 0.3715,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0037,
                "expected_assists": 0.0091,
                "shots_on_target": 0.0,
                "big_chances_created": 0.1256,
                "xgot": 0.0,
                "ball_carries": 17.3704,
                "total_progression": 40.4533,
                "progressive_carries": 0.0656,
                "key_pass": 0.2512,
                "shots_off_target": 0.3453,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.8,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.658,
                "opponent_faced": "Julián Alvarez",
                "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.0037,
                "projected_assists": 0,
                "assist_probability": 0.0091,
                "finishing_factor": 0.9416,
                "creation_factor": 0.8865,
                "fifa_overall": 79.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0091,
                "assist_rate": 0.0,
                "provider_weight": 0.0081,
                "squad_weight_total": 0.7982,
                "weight_share": 0.0101,
                "creation_factor": 0.8865,
                "appearance_weight": 1.0,
                "weight_rank": 12,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Thiago Fernández",
                    "weight": 0.1951,
                    "already": 0,
                    "effective_weight": 0.1951,
                    "runner_up": "Jon Ander Olasagasti",
                    "runner_up_effective_weight": 0.1554,
                    "blocked_own_goal": [
                      "Roger Brugué"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Ifeanyi Ndukwe": {
          "player_id": 1929673,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 3,
          "height": 198,
          "market_value": 3200000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 5,
            "aerial_won": 2,
            "total_shots": 0,
            "rating": 6.7805,
            "minutes": 84,
            "total_pass": 44,
            "accurate_pass": 40,
            "duels_won": 2,
            "total_long_balls": 3,
            "accurate_long_balls": 1,
            "total_own_half_passes": 32,
            "accurate_own_half_passes": 31,
            "total_opp_half_passes": 12,
            "accurate_opp_half_passes": 9,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 55,
            "possession_lost": 4.5628,
            "dispossessed": 0.0,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 4,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "blocks": 1,
            "goal_rate": 0.191,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.0984,
            "expected_assists": 0.0047,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.2112,
            "ball_carries": 16,
            "total_progression": 85,
            "progressive_carries": 2,
            "key_pass": 0,
            "shots_off_target": 0,
            "tackles_in_zone": 1.0,
            "tackles_won_in_zone": 0.8,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.658,
            "opponent_faced": "Julián Alvarez",
            "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.0937,
            "projected_assists": 0,
            "assist_probability": 0.0047,
            "finishing_factor": 1.25,
            "creation_factor": 0.9381,
            "fifa_overall": 84.0
          },
          "latest_10_games": [
            {
              "match_id": 16421086,
              "match_date": "2026-10-25",
              "home_team": "Real Sociedad",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0028,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 51,
                "accurate_pass": 48,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 6,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 3,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 17122851,
              "match_date": "2026-10-21",
              "home_team": "Levante UD",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0013,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 29,
                "accurate_pass": 27,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 12,
                "aerial_won": 0,
                "duels_won": 2,
                "ball_recovery": 5,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421070,
              "match_date": "2026-10-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 47,
                "rating": 6.7,
                "expected_assists": 0.0016,
                "total_shots": 0,
                "total_pass": 23,
                "accurate_pass": 17,
                "clearances": 4,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.4263,
                "expected_assists": 0.0088,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 81,
                "accurate_pass": 73,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 5,
                "aerial_won": 4,
                "duels_won": 6,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416294,
              "match_date": "2026-09-20",
              "home_team": "Villarreal",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 27,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.001,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 19,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 2,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416329,
              "match_date": "2026-09-13",
              "home_team": "Levante UD",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 19,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 6,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 296,
            "combined_rank_score": 201.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 199.0,
            "fifa_overall": 84.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7805,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ifeanyi Ndukwe",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Nicolò Barella",
                  "ranking": 291
                },
                {
                  "player_name": "Cody Gakpo",
                  "ranking": 292
                },
                {
                  "player_name": "Nodirbek Abdurazzokov",
                  "ranking": 293
                },
                {
                  "player_name": "Gabriel Słonina",
                  "ranking": 294
                },
                {
                  "player_name": "Reece James",
                  "ranking": 295
                }
              ],
              "lower": [
                {
                  "player_name": "Christian Pulišić",
                  "ranking": 297
                },
                {
                  "player_name": "Zubimendi",
                  "ranking": 298
                },
                {
                  "player_name": "Kim Min-Seung",
                  "ranking": 299
                },
                {
                  "player_name": "Aurélien Tchouaméni",
                  "ranking": 300
                },
                {
                  "player_name": "Robert Lewandowski",
                  "ranking": 301
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.625,
          "history_matches": 6,
          "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",
              "totalTackle",
              "totalShots",
              "rating",
              "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",
              "totalShots",
              "rating"
            ],
            "history_matches": 6,
            "data_confidence": 0.625,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 0.9911,
            "fbref_prior_metrics": {
              "squad": "Levante",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 0.0,
              "starts": 0.0,
              "prior_reliability": 0.0
            },
            "rationale": "XGBoost regressor (D_service) evaluated 6 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Levante, rel: 0.00, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.7784,
                "tackles": 1.2751,
                "tackles_won": 0.7174,
                "clearances": 5.4043,
                "aerial_won": 1.7601,
                "total_shots": 0.3706,
                "rating": 6.7805,
                "minutes": 83.5,
                "total_pass": 44.5649,
                "accurate_pass": 40.1879,
                "duels_won": 2.2303,
                "total_long_balls": 2.8789,
                "accurate_long_balls": 1.3724,
                "total_own_half_passes": 32.7466,
                "accurate_own_half_passes": 30.9417,
                "total_opp_half_passes": 11.8183,
                "accurate_opp_half_passes": 9.2462,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 55.3546,
                "possession_lost": 4.6038,
                "dispossessed": 0.0,
                "duels_lost": 1.6498,
                "aerial_lost": 0.7709,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 3.6582,
                "challenges_lost": 0.4194,
                "fouls": 0.4595,
                "fouls_drawn": 0.6862,
                "blocks": 0.966,
                "goals": 0.1927,
                "goal_rate": 0.1927,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0822,
                "expected_assists": 0.0033,
                "shots_on_target": 0.1927,
                "big_chances_created": 0.0,
                "xgot": 0.1766,
                "ball_carries": 16.4636,
                "total_progression": 85.5647,
                "progressive_carries": 1.5418,
                "key_pass": 0.0,
                "shots_off_target": 0.1779
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Real Sociedad",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2408,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-10-21",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2047,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-10-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 47.0,
                    "is_starting": true,
                    "weight": 0.174,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Sevilla",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1479,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Villarreal",
                    "minutes": 27.0,
                    "is_starting": false,
                    "weight": 0.1257,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "FC Barcelona",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.1069,
                    "rating": 6.3
                  }
                ],
                "feature_row": {
                  "history_matches": 6.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 5.5506,
                  "aerialWon": 1.0839,
                  "totalClearance_p90": 6.986,
                  "totalTackle": 0.7109,
                  "totalPass": 38.0347
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.7783985137939453,
                    "model_output": 0.7784,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.1019
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0853
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0508
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0215
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0187
                        }
                      ],
                      "others": -0.0199,
                      "total": 0.7784,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.124788
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.105448
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": -0.06148
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.027237
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.023725
                        }
                      ],
                      "others_margin": -0.025219
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.275072693824768,
                    "model_output": 1.2751,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1706
                        },
                        {
                          "name": "totalTackle",
                          "contribution": -0.1308
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0556
                        },
                        {
                          "name": "challengeLost",
                          "contribution": 0.05
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0335
                        }
                      ],
                      "others": -0.2225,
                      "total": 1.2751,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.116091
                        },
                        {
                          "name": "totalTackle",
                          "margin": -0.087781
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.038254
                        },
                        {
                          "name": "challengeLost",
                          "margin": 0.033231
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.022129
                        }
                      ],
                      "others_margin": -0.160848
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.7173943519592285,
                    "model_output": 0.7174,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1088
                        },
                        {
                          "name": "totalTackle",
                          "contribution": -0.0814
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.047
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0367
                        },
                        {
                          "name": "challengeLost",
                          "contribution": 0.0309
                        }
                      ],
                      "others": -0.1029,
                      "total": 0.7174,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.120981
                        },
                        {
                          "name": "totalTackle",
                          "margin": -0.089191
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.055288
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.045478
                        },
                        {
                          "name": "challengeLost",
                          "margin": 0.038404
                        }
                      ],
                      "others_margin": -0.133972
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 5.404257774353027,
                    "model_output": 5.4043,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "totalClearance",
                          "contribution": 0.7038
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.5446
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.4403
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.4278
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.159
                        }
                      ],
                      "others": 0.0151,
                      "total": 5.4043,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "totalClearance",
                          "margin": 0.186562
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.1237
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.089921
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.080237
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": -0.029081
                        }
                      ],
                      "others_margin": 0.002786
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.7601079940795898,
                    "model_output": 1.7601,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.1911
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1623
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0954
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.1011
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.1018
                        }
                      ],
                      "others": 0.113,
                      "total": 1.7601,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": -0.149316
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.128187
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.068316
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.067666
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.063792
                        }
                      ],
                      "others_margin": 0.066372
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.3706207871437073,
                    "model_output": 0.3706,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.1116
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0498
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0164
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.0085
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": 0.0085
                        }
                      ],
                      "others": -0.0297,
                      "total": 0.3706,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.111605
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.049767
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.01643
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.008546
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": 0.008532
                        }
                      ],
                      "others_margin": -0.029637
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.780490875244141,
                    "model_output": 6.7805,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0172
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0121
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0097
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0088
                        },
                        {
                          "name": "errorLeadToAShot",
                          "contribution": -0.0083
                        }
                      ],
                      "others": 0.0217,
                      "total": 6.7805,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.017157
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.012084
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.009666
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.008779
                        },
                        {
                          "name": "errorLeadToAShot",
                          "margin": -0.008267
                        }
                      ],
                      "others_margin": 0.021599
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 6,
                  "role_matches": 4,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9911, quality 0.440)",
              "stats": {
                "interceptions": 0.7715,
                "tackles": 1.2637,
                "tackles_won": 0.711,
                "clearances": 5.3562,
                "aerial_won": 1.7444,
                "total_shots": 0.3673,
                "rating": 6.7805,
                "minutes": 83.5,
                "total_pass": 44.1683,
                "accurate_pass": 39.8302,
                "duels_won": 2.2105,
                "total_long_balls": 2.8533,
                "accurate_long_balls": 1.3602,
                "total_own_half_passes": 32.4552,
                "accurate_own_half_passes": 30.6663,
                "total_opp_half_passes": 11.7131,
                "accurate_opp_half_passes": 9.1639,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 54.8619,
                "possession_lost": 4.5628,
                "dispossessed": 0.0,
                "duels_lost": 1.6351,
                "aerial_lost": 0.764,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 3.6256,
                "challenges_lost": 0.4157,
                "fouls": 0.4554,
                "fouls_drawn": 0.6801,
                "blocks": 0.9574,
                "goals": 0.191,
                "goal_rate": 0.191,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0815,
                "expected_assists": 0.0033,
                "shots_on_target": 0.191,
                "big_chances_created": 0.0,
                "xgot": 0.175,
                "ball_carries": 16.3171,
                "total_progression": 84.8032,
                "progressive_carries": 1.5281,
                "key_pass": 0.0,
                "shots_off_target": 0.1763
              },
              "params": {
                "market_value_eur": 3200000,
                "quality_factor": 0.4399,
                "boost_factor": 0.9911,
                "reference_quality": 0.505,
                "history_matches": 6,
                "history_shrink": 0.4545,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.7715,
                "tackles": 1.2637,
                "tackles_won": 0.711,
                "clearances": 5.3562,
                "aerial_won": 1.7444,
                "total_shots": 0.3673,
                "rating": 6.7805,
                "minutes": 83.5,
                "total_pass": 44.1683,
                "accurate_pass": 39.8302,
                "duels_won": 2.2105,
                "total_long_balls": 2.8533,
                "accurate_long_balls": 1.3602,
                "total_own_half_passes": 32.4552,
                "accurate_own_half_passes": 30.6663,
                "total_opp_half_passes": 11.7131,
                "accurate_opp_half_passes": 9.1639,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 54.8619,
                "possession_lost": 4.5628,
                "dispossessed": 0.0,
                "duels_lost": 1.6351,
                "aerial_lost": 0.764,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 3.6256,
                "challenges_lost": 0.4157,
                "fouls": 0.4554,
                "fouls_drawn": 0.6801,
                "blocks": 0.9574,
                "goals": 0.191,
                "goal_rate": 0.191,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0815,
                "expected_assists": 0.0033,
                "shots_on_target": 0.191,
                "big_chances_created": 0.0,
                "xgot": 0.175,
                "ball_carries": 16.3171,
                "total_progression": 84.8032,
                "progressive_carries": 1.5281,
                "key_pass": 0.0,
                "shots_off_target": 0.1763
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 0.7715,
                "tackles": 1.2637,
                "tackles_won": 0.711,
                "clearances": 5.3562,
                "aerial_won": 1.7444,
                "total_shots": 0.3673,
                "rating": 6.7805,
                "minutes": 83.5,
                "total_pass": 44.1683,
                "accurate_pass": 39.8302,
                "duels_won": 2.2105,
                "total_long_balls": 2.8533,
                "accurate_long_balls": 1.3602,
                "total_own_half_passes": 32.4552,
                "accurate_own_half_passes": 30.6663,
                "total_opp_half_passes": 11.7131,
                "accurate_opp_half_passes": 9.1639,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 54.8619,
                "possession_lost": 4.5628,
                "dispossessed": 0.0,
                "duels_lost": 1.6351,
                "aerial_lost": 0.764,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 3.6256,
                "challenges_lost": 0.4157,
                "fouls": 0.4554,
                "fouls_drawn": 0.6801,
                "blocks": 0.9574,
                "goals": 0.191,
                "goal_rate": 0.191,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0815,
                "expected_assists": 0.0033,
                "shots_on_target": 0.191,
                "big_chances_created": 0.0,
                "xgot": 0.175,
                "ball_carries": 16.3171,
                "total_progression": 84.8032,
                "progressive_carries": 1.5281,
                "key_pass": 0.0,
                "shots_off_target": 0.1763,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.8,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.658,
                "opponent_faced": "Julián Alvarez",
                "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"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Julián Alvarez",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle"
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "interceptions": 0.7715,
                "tackles": 1.2637,
                "tackles_won": 0.711,
                "clearances": 5.3562,
                "aerial_won": 1.7444,
                "total_shots": 0.3673,
                "rating": 6.7805,
                "minutes": 83.5,
                "total_pass": 44.1683,
                "accurate_pass": 39.8302,
                "duels_won": 2.2105,
                "total_long_balls": 2.8533,
                "accurate_long_balls": 1.3602,
                "total_own_half_passes": 32.4552,
                "accurate_own_half_passes": 30.6663,
                "total_opp_half_passes": 11.7131,
                "accurate_opp_half_passes": 9.1639,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 54.8619,
                "possession_lost": 4.5628,
                "dispossessed": 0.0,
                "duels_lost": 1.6351,
                "aerial_lost": 0.764,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 3.6256,
                "challenges_lost": 0.4157,
                "fouls": 0.4554,
                "fouls_drawn": 0.6801,
                "blocks": 0.9574,
                "goal_rate": 0.191,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0815,
                "expected_assists": 0.0033,
                "shots_on_target": 0.191,
                "big_chances_created": 0.0,
                "xgot": 0.175,
                "ball_carries": 16.3171,
                "total_progression": 84.8032,
                "progressive_carries": 1.5281,
                "key_pass": 0.0,
                "shots_off_target": 0.1763,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.8,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.658,
                "opponent_faced": "Julián Alvarez",
                "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
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.19 (squad xG sum 0.9866, xG scale 1.2071, xA scale 1.4295, team xA 0.77 = 0.65 x lambda)",
              "stats": {
                "interceptions": 0.7715,
                "tackles": 1.2637,
                "tackles_won": 0.711,
                "clearances": 5.3562,
                "aerial_won": 1.7444,
                "total_shots": 0.3673,
                "rating": 6.7805,
                "minutes": 83.5,
                "total_pass": 44.1683,
                "accurate_pass": 39.8302,
                "duels_won": 2.2105,
                "total_long_balls": 2.8533,
                "accurate_long_balls": 1.3602,
                "total_own_half_passes": 32.4552,
                "accurate_own_half_passes": 30.6663,
                "total_opp_half_passes": 11.7131,
                "accurate_opp_half_passes": 9.1639,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 54.8619,
                "possession_lost": 4.5628,
                "dispossessed": 0.0,
                "duels_lost": 1.6351,
                "aerial_lost": 0.764,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 3.6256,
                "challenges_lost": 0.4157,
                "fouls": 0.4554,
                "fouls_drawn": 0.6801,
                "blocks": 0.9574,
                "goal_rate": 0.191,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0984,
                "expected_assists": 0.0047,
                "shots_on_target": 0.191,
                "big_chances_created": 0.0,
                "xgot": 0.2112,
                "ball_carries": 16.3171,
                "total_progression": 84.8032,
                "progressive_carries": 1.5281,
                "key_pass": 0.0,
                "shots_off_target": 0.1763,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.8,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.658,
                "opponent_faced": "Julián Alvarez",
                "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,
                "finishing_factor": 1.25,
                "creation_factor": 0.9381
              },
              "params": {
                "team_lambda": 1.191,
                "squad_xg_sum": 0.9866,
                "squad_xa_sum": 0.5416,
                "team_expected_assists": 0.7742,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.2071,
                "xa_scale": 1.4295,
                "opponent_lambda": 2.266,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0815,
                  "after": 0.0984
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 7 by projected rating, fifa_overall 84.0)",
              "stats": {
                "interceptions": 0.7715,
                "tackles": 1.2637,
                "tackles_won": 0.711,
                "clearances": 5.3562,
                "aerial_won": 1.7444,
                "total_shots": 0.3673,
                "rating": 6.7805,
                "minutes": 83.5,
                "total_pass": 44.1683,
                "accurate_pass": 39.8302,
                "duels_won": 2.2105,
                "total_long_balls": 2.8533,
                "accurate_long_balls": 1.3602,
                "total_own_half_passes": 32.4552,
                "accurate_own_half_passes": 30.6663,
                "total_opp_half_passes": 11.7131,
                "accurate_opp_half_passes": 9.1639,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 54.8619,
                "possession_lost": 4.5628,
                "dispossessed": 0.0,
                "duels_lost": 1.6351,
                "aerial_lost": 0.764,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 3.6256,
                "challenges_lost": 0.4157,
                "fouls": 0.4554,
                "fouls_drawn": 0.6801,
                "blocks": 0.9574,
                "goal_rate": 0.191,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0984,
                "expected_assists": 0.0047,
                "shots_on_target": 0.191,
                "big_chances_created": 0.0,
                "xgot": 0.2112,
                "ball_carries": 16.3171,
                "total_progression": 84.8032,
                "progressive_carries": 1.5281,
                "key_pass": 0.0,
                "shots_off_target": 0.1763,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.8,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.658,
                "opponent_faced": "Julián Alvarez",
                "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,
                "finishing_factor": 1.25,
                "creation_factor": 0.9381,
                "fifa_overall": 84.0
              },
              "params": {
                "match_squad_rank": 7,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 296,
                "fifa_rank": 199.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 84.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 0.7715,
                "tackles": 1.2637,
                "tackles_won": 0.711,
                "clearances": 5.3562,
                "aerial_won": 1.7444,
                "total_shots": 0.3673,
                "rating": 6.7805,
                "minutes": 83.5,
                "total_pass": 44.1683,
                "accurate_pass": 39.8302,
                "duels_won": 2.2105,
                "total_long_balls": 2.8533,
                "accurate_long_balls": 1.3602,
                "total_own_half_passes": 32.4552,
                "accurate_own_half_passes": 30.6663,
                "total_opp_half_passes": 11.7131,
                "accurate_opp_half_passes": 9.1639,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 54.8619,
                "possession_lost": 4.5628,
                "dispossessed": 0.0,
                "duels_lost": 1.6351,
                "aerial_lost": 0.764,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 3.6256,
                "challenges_lost": 0.4157,
                "fouls": 0.4554,
                "fouls_drawn": 0.6801,
                "blocks": 0.9574,
                "goal_rate": 0.191,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0984,
                "expected_assists": 0.0047,
                "shots_on_target": 0.191,
                "big_chances_created": 0.0,
                "xgot": 0.2112,
                "ball_carries": 16.3171,
                "total_progression": 84.8032,
                "progressive_carries": 1.5281,
                "key_pass": 0.0,
                "shots_off_target": 0.1763,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.8,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.658,
                "opponent_faced": "Julián Alvarez",
                "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.0937,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.25,
                "creation_factor": 0.9381,
                "fifa_overall": 84.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0937,
                "goal_rate": 0.191,
                "scorer_weight": 0.123,
                "squad_weight_total": 1.3229,
                "weight_share": 0.093,
                "finishing_factor": 1.25,
                "appearance_weight": 1.0,
                "weight_rank": 5,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Roger Brugué",
                    "weight": 0.315,
                    "already": 0,
                    "effective_weight": 0.315,
                    "runner_up": "Iván Romero",
                    "runner_up_effective_weight": 0.2553
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 0.7715,
                "tackles": 1.2637,
                "tackles_won": 0.711,
                "clearances": 5.3562,
                "aerial_won": 1.7444,
                "total_shots": 0.3673,
                "rating": 6.7805,
                "minutes": 83.5,
                "total_pass": 44.1683,
                "accurate_pass": 39.8302,
                "duels_won": 2.2105,
                "total_long_balls": 2.8533,
                "accurate_long_balls": 1.3602,
                "total_own_half_passes": 32.4552,
                "accurate_own_half_passes": 30.6663,
                "total_opp_half_passes": 11.7131,
                "accurate_opp_half_passes": 9.1639,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 54.8619,
                "possession_lost": 4.5628,
                "dispossessed": 0.0,
                "duels_lost": 1.6351,
                "aerial_lost": 0.764,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "ball_recovery": 3.6256,
                "challenges_lost": 0.4157,
                "fouls": 0.4554,
                "fouls_drawn": 0.6801,
                "blocks": 0.9574,
                "goal_rate": 0.191,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0984,
                "expected_assists": 0.0047,
                "shots_on_target": 0.191,
                "big_chances_created": 0.0,
                "xgot": 0.2112,
                "ball_carries": 16.3171,
                "total_progression": 84.8032,
                "progressive_carries": 1.5281,
                "key_pass": 0.0,
                "shots_off_target": 0.1763,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 0.8,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.658,
                "opponent_faced": "Julián Alvarez",
                "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.0937,
                "projected_assists": 0,
                "assist_probability": 0.0047,
                "finishing_factor": 1.25,
                "creation_factor": 0.9381,
                "fifa_overall": 84.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0047,
                "assist_rate": 0.0,
                "provider_weight": 0.0044,
                "squad_weight_total": 0.7982,
                "weight_share": 0.0055,
                "creation_factor": 0.9381,
                "appearance_weight": 1.0,
                "weight_rank": 13,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Thiago Fernández",
                    "weight": 0.1951,
                    "already": 0,
                    "effective_weight": 0.1951,
                    "runner_up": "Jon Ander Olasagasti",
                    "runner_up_effective_weight": 0.1554,
                    "blocked_own_goal": [
                      "Roger Brugué"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Nacho Pérez": {
          "player_id": 2049311,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 29,
          "height": 175,
          "market_value": 1600000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 1,
            "total_shots": 1,
            "rating": 6.7601,
            "minutes": 74,
            "total_pass": 25,
            "accurate_pass": 19,
            "duels_won": 4,
            "total_long_balls": 3,
            "accurate_long_balls": 1,
            "total_own_half_passes": 14,
            "accurate_own_half_passes": 11,
            "total_opp_half_passes": 11,
            "accurate_opp_half_passes": 8,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 43,
            "possession_lost": 9.6033,
            "dispossessed": 0.0828,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 0,
            "goal_rate": 0.3674,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.07,
            "expected_assists": 0.0389,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.1779,
            "ball_carries": 6,
            "total_progression": 28,
            "progressive_carries": 1,
            "key_pass": 0,
            "shots_off_target": 0,
            "tackles_in_zone": 1.9,
            "tackles_won_in_zone": 1.4,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 1.2,
            "defensive_success_rate": 0.452,
            "opponent_faced": "Alejandro Grimaldo",
            "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.0676,
            "projected_assists": 0,
            "assist_probability": 0.0382,
            "finishing_factor": 1.25,
            "creation_factor": 0.8,
            "fifa_overall": 67.0
          },
          "latest_10_games": [
            {
              "match_id": 16421086,
              "match_date": "2026-10-25",
              "home_team": "Real Sociedad",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 90,
                "rating": 8.2,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1818,
                "expected_assists": 0.0477,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 35,
                "accurate_pass": 26,
                "tackles": 4,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 4,
                "aerial_won": 0,
                "duels_won": 7,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 17122851,
              "match_date": "2026-10-21",
              "home_team": "Levante UD",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 17,
                "rating": 6.8,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0136,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 5,
                "accurate_pass": 5,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 0,
                "duels_won": 0,
                "ball_recovery": 0,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421070,
              "match_date": "2026-10-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 47,
                "rating": 6.8,
                "expected_assists": 0.0046,
                "total_shots": 0,
                "total_pass": 18,
                "accurate_pass": 14,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 2,
                "duels_won": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 14,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3769,
                "expected_assists": 0.0034,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 4,
                "accurate_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416329,
              "match_date": "2026-09-13",
              "home_team": "Levante UD",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 19,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0009,
                "total_shots": 0,
                "total_pass": 6,
                "accurate_pass": 3,
                "clearances": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416320,
              "match_date": "2026-09-06",
              "home_team": "Málaga CF",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 77,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1137,
                "expected_assists": 0.0129,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 15,
                "accurate_pass": 11,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416309,
              "match_date": "2026-08-29",
              "home_team": "Levante UD",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 45,
                "rating": 6.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0054,
                "total_shots": 0,
                "total_pass": 20,
                "accurate_pass": 15,
                "clearances": 6,
                "aerial_won": 2,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416296,
              "match_date": "2026-08-24",
              "home_team": "Osasuna",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 78,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0052,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 19,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 3,
                "clearances": 6,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421053,
              "match_date": "2026-08-16",
              "home_team": "Espanyol",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 76,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1264,
                "total_shots": 0,
                "total_pass": 28,
                "accurate_pass": 23,
                "key_pass": 2,
                "tackles": 4,
                "tackles_won": 3,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 7,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083676,
              "match_date": "2026-05-17",
              "home_team": "Levante UD",
              "away_team": "Mallorca",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Mallorca",
              "stats": {
                "minutes": 67,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0412,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 5,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 3,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 6444,
            "combined_rank_score": 4778.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 157.0,
            "sofascore_rating": 7.3,
            "sofascore_appearances": 1.0,
            "fifa_rank": 9400.0,
            "fifa_overall": 67.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7601,
            "source_file": "data/player_rankings.csv",
            "player_name": "Nacho Pérez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Franco Fagúndez",
                  "ranking": 6439
                },
                {
                  "player_name": "Emil Riis",
                  "ranking": 6440
                },
                {
                  "player_name": "Luke McNally",
                  "ranking": 6441
                },
                {
                  "player_name": "Martín Barrios",
                  "ranking": 6442
                },
                {
                  "player_name": "Jeremy Ngakia",
                  "ranking": 6443
                }
              ],
              "lower": [
                {
                  "player_name": "Kevin Vázquez",
                  "ranking": 6445
                },
                {
                  "player_name": "Jannenson Sarmiento",
                  "ranking": 6446
                },
                {
                  "player_name": "Mathis Servais",
                  "ranking": 6447
                },
                {
                  "player_name": "Million Manhoef",
                  "ranking": 6448
                },
                {
                  "player_name": "Cameron Archer",
                  "ranking": 6449
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.772,
          "history_matches": 12,
          "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",
              "totalTackle",
              "totalShots",
              "rating",
              "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",
              "totalShots",
              "rating"
            ],
            "history_matches": 12,
            "data_confidence": 0.772,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.994,
            "fbref_prior_metrics": {
              "squad": "Levante",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 197.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.1467
            },
            "rationale": "XGBoost regressor (D_service) evaluated 12 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Levante, rel: 0.15, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.6978,
                "tackles": 1.574,
                "tackles_won": 0.9329,
                "clearances": 3.3922,
                "aerial_won": 0.9677,
                "total_shots": 0.5215,
                "rating": 6.7601,
                "minutes": 74.45,
                "total_pass": 24.9462,
                "accurate_pass": 19.1798,
                "duels_won": 4.2789,
                "total_long_balls": 3.4329,
                "accurate_long_balls": 1.1877,
                "total_own_half_passes": 14.2793,
                "accurate_own_half_passes": 11.3091,
                "total_opp_half_passes": 10.6669,
                "accurate_opp_half_passes": 7.8707,
                "crosses_total": 1.4569,
                "crosses_accurate": 0.3187,
                "touches": 43.285,
                "possession_lost": 9.6613,
                "dispossessed": 0.0833,
                "duels_lost": 2.2215,
                "aerial_lost": 0.8168,
                "total_contest": 0.7773,
                "won_contest": 0.1877,
                "ball_recovery": 1.2747,
                "challenges_lost": 0.2208,
                "fouls": 0.6704,
                "fouls_drawn": 1.2271,
                "blocks": 0.4167,
                "goals": 0.3803,
                "goal_rate": 0.3803,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0583,
                "expected_assists": 0.0274,
                "shots_on_target": 0.3803,
                "big_chances_created": 0.0,
                "xgot": 0.1483,
                "ball_carries": 6.5166,
                "total_progression": 28.2063,
                "progressive_carries": 0.7272,
                "key_pass": 0.2792,
                "shots_off_target": 0.1412
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Real Sociedad",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1749,
                    "rating": 8.2
                  },
                  {
                    "match_date": "2026-10-21",
                    "opponent": "Athletic Club",
                    "minutes": 17.0,
                    "is_starting": false,
                    "weight": 0.1486,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-10-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 47.0,
                    "is_starting": true,
                    "weight": 0.1263,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Sevilla",
                    "minutes": 14.0,
                    "is_starting": false,
                    "weight": 0.1074,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "FC Barcelona",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.0913,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Málaga CF",
                    "minutes": 77.0,
                    "is_starting": true,
                    "weight": 0.0776,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Real Betis",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.066,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Osasuna",
                    "minutes": 78.0,
                    "is_starting": true,
                    "weight": 0.0561,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-08-16",
                    "opponent": "Espanyol",
                    "minutes": 76.0,
                    "is_starting": true,
                    "weight": 0.0477,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Mallorca",
                    "minutes": 67.0,
                    "is_starting": false,
                    "weight": 0.0405,
                    "rating": 6.8
                  }
                ],
                "feature_row": {
                  "history_matches": 12.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 2.5994,
                  "aerialWon": 0.4883,
                  "totalClearance_p90": 5.0076,
                  "totalTackle": 1.4419,
                  "totalPass": 16.9115
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.6977603435516357,
                    "model_output": 0.6978,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.1134
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0947
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0764
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0423
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": -0.0106
                        }
                      ],
                      "others": -0.0227,
                      "total": 0.6978,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.139874
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.118106
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.094251
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.056226
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": -0.014601
                        }
                      ],
                      "others_margin": -0.032065
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.5739749670028687,
                    "model_output": 1.574,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1944
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0857
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0428
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0386
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0373
                        }
                      ],
                      "others": -0.0587,
                      "total": 1.574,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.131306
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.052846
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": 0.02536
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.022855
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.022595
                        }
                      ],
                      "others_margin": -0.036643
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.932933509349823,
                    "model_output": 0.9329,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1156
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0571
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0477
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0397
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0222
                        }
                      ],
                      "others": -0.0713,
                      "total": 0.9329,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.128135
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": 0.057663
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.045799
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.037996
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.021891
                        }
                      ],
                      "others_margin": -0.073546
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 3.3921616077423096,
                    "model_output": 3.3922,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4854
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.4351
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.3484
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.2259
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.1785
                        }
                      ],
                      "others": 0.306,
                      "total": 3.3922,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.132297
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.117749
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.105417
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.074831
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.059562
                        }
                      ],
                      "others_margin": 0.094543
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.9676616787910461,
                    "model_output": 0.9677,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.4378
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1247
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0676
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0508
                        },
                        {
                          "name": "aerialLost",
                          "contribution": -0.0484
                        }
                      ],
                      "others": -0.0316,
                      "total": 0.9677,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": -0.382388
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.124553
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.065622
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.049734
                        },
                        {
                          "name": "aerialLost",
                          "margin": -0.047279
                        }
                      ],
                      "others_margin": -0.032228
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.5215185880661011,
                    "model_output": 0.5215,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0564
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0229
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0153
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0133
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0121
                        }
                      ],
                      "others": -0.0222,
                      "total": 0.5215,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.056448
                        },
                        {
                          "name": "rating",
                          "margin": 0.022909
                        },
                        {
                          "name": "totalProgression",
                          "margin": -0.015304
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.013276
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.012074
                        }
                      ],
                      "others_margin": -0.022275
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.760140419006348,
                    "model_output": 6.7601,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "totalPass",
                          "contribution": -0.0409
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0192
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0155
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.013
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0129
                        }
                      ],
                      "others": 0.0277,
                      "total": 6.7601,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "totalPass",
                          "margin": -0.040933
                        },
                        {
                          "name": "rating",
                          "margin": 0.019178
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.015452
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.013047
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.012897
                        }
                      ],
                      "others_margin": 0.027777
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 12,
                  "role_matches": 7,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9940, quality 0.437)",
              "stats": {
                "interceptions": 0.6936,
                "tackles": 1.5645,
                "tackles_won": 0.9273,
                "clearances": 3.3718,
                "aerial_won": 0.9619,
                "total_shots": 0.5184,
                "rating": 6.7601,
                "minutes": 74.45,
                "total_pass": 24.7965,
                "accurate_pass": 19.0647,
                "duels_won": 4.2532,
                "total_long_balls": 3.4123,
                "accurate_long_balls": 1.1806,
                "total_own_half_passes": 14.1936,
                "accurate_own_half_passes": 11.2412,
                "total_opp_half_passes": 10.6029,
                "accurate_opp_half_passes": 7.8235,
                "crosses_total": 1.4482,
                "crosses_accurate": 0.3168,
                "touches": 43.0253,
                "possession_lost": 9.6033,
                "dispossessed": 0.0828,
                "duels_lost": 2.2082,
                "aerial_lost": 0.8119,
                "total_contest": 0.7726,
                "won_contest": 0.1866,
                "ball_recovery": 1.2671,
                "challenges_lost": 0.2195,
                "fouls": 0.6664,
                "fouls_drawn": 1.2197,
                "blocks": 0.4142,
                "goals": 0.378,
                "goal_rate": 0.378,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.058,
                "expected_assists": 0.0272,
                "shots_on_target": 0.378,
                "big_chances_created": 0.0,
                "xgot": 0.1474,
                "ball_carries": 6.4775,
                "total_progression": 28.0371,
                "progressive_carries": 0.7228,
                "key_pass": 0.2775,
                "shots_off_target": 0.1404
              },
              "params": {
                "market_value_eur": 1600000,
                "quality_factor": 0.4374,
                "boost_factor": 0.994,
                "reference_quality": 0.505,
                "history_matches": 12,
                "history_shrink": 0.2941,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0280)",
              "stats": {
                "interceptions": 0.7163,
                "tackles": 1.5645,
                "tackles_won": 0.954,
                "clearances": 3.3718,
                "aerial_won": 0.9619,
                "total_shots": 0.5039,
                "rating": 6.7601,
                "minutes": 74.45,
                "total_pass": 24.7965,
                "accurate_pass": 19.0647,
                "duels_won": 4.2532,
                "total_long_balls": 3.4123,
                "accurate_long_balls": 1.1806,
                "total_own_half_passes": 14.1936,
                "accurate_own_half_passes": 11.2412,
                "total_opp_half_passes": 10.6029,
                "accurate_opp_half_passes": 7.8235,
                "crosses_total": 1.4919,
                "crosses_accurate": 0.3168,
                "touches": 43.0253,
                "possession_lost": 9.6033,
                "dispossessed": 0.0828,
                "duels_lost": 2.2082,
                "aerial_lost": 0.8119,
                "total_contest": 0.7726,
                "won_contest": 0.1866,
                "ball_recovery": 1.2671,
                "challenges_lost": 0.2195,
                "fouls": 0.6583,
                "fouls_drawn": 1.2171,
                "blocks": 0.4142,
                "goals": 0.3674,
                "goal_rate": 0.3674,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.058,
                "expected_assists": 0.0272,
                "shots_on_target": 0.3674,
                "big_chances_created": 0.0,
                "xgot": 0.1474,
                "ball_carries": 6.4775,
                "total_progression": 28.0371,
                "progressive_carries": 0.7228,
                "key_pass": 0.2775,
                "shots_off_target": 0.1404
              },
              "params": {
                "blend_weight": 0.028,
                "history_matches": 12,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.8272,
                "prior_reliability": 0.1467,
                "competition": "La Liga",
                "squad": "Levante"
              },
              "changes": [
                {
                  "stat": "totalCross",
                  "before": 1.4482,
                  "after": 1.4919
                },
                {
                  "stat": "wonTackle",
                  "before": 0.9273,
                  "after": 0.954
                },
                {
                  "stat": "interceptionWon",
                  "before": 0.6936,
                  "after": 0.7163
                },
                {
                  "stat": "totalShots",
                  "before": 0.5184,
                  "after": 0.5039
                },
                {
                  "stat": "goals",
                  "before": 0.378,
                  "after": 0.3674
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.378,
                  "after": 0.3674
                },
                {
                  "stat": "fouls",
                  "before": 0.6664,
                  "after": 0.6583
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.7163,
                "tackles": 1.5645,
                "tackles_won": 0.954,
                "clearances": 3.3718,
                "aerial_won": 0.9619,
                "total_shots": 0.5078,
                "rating": 6.7601,
                "minutes": 74.45,
                "total_pass": 24.7965,
                "accurate_pass": 19.0647,
                "duels_won": 4.2532,
                "total_long_balls": 3.4123,
                "accurate_long_balls": 1.1806,
                "total_own_half_passes": 14.1936,
                "accurate_own_half_passes": 11.2412,
                "total_opp_half_passes": 10.6029,
                "accurate_opp_half_passes": 7.8235,
                "crosses_total": 1.4919,
                "crosses_accurate": 0.3168,
                "touches": 43.0253,
                "possession_lost": 9.6033,
                "dispossessed": 0.0828,
                "duels_lost": 2.2082,
                "aerial_lost": 0.8119,
                "total_contest": 0.7726,
                "won_contest": 0.1866,
                "ball_recovery": 1.2671,
                "challenges_lost": 0.2195,
                "fouls": 0.6583,
                "fouls_drawn": 1.2171,
                "blocks": 0.4142,
                "goals": 0.3674,
                "goal_rate": 0.3674,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.058,
                "expected_assists": 0.0272,
                "shots_on_target": 0.3674,
                "big_chances_created": 0.0,
                "xgot": 0.1474,
                "ball_carries": 6.4775,
                "total_progression": 28.0371,
                "progressive_carries": 0.7228,
                "key_pass": 0.2775,
                "shots_off_target": 0.1404
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 0.7163,
                "tackles": 1.5645,
                "tackles_won": 0.954,
                "clearances": 3.3718,
                "aerial_won": 0.9619,
                "total_shots": 0.5078,
                "rating": 6.7601,
                "minutes": 74.45,
                "total_pass": 24.7965,
                "accurate_pass": 19.0647,
                "duels_won": 4.2532,
                "total_long_balls": 3.4123,
                "accurate_long_balls": 1.1806,
                "total_own_half_passes": 14.1936,
                "accurate_own_half_passes": 11.2412,
                "total_opp_half_passes": 10.6029,
                "accurate_opp_half_passes": 7.8235,
                "crosses_total": 1.4919,
                "crosses_accurate": 0.3168,
                "touches": 43.0253,
                "possession_lost": 9.6033,
                "dispossessed": 0.0828,
                "duels_lost": 2.2082,
                "aerial_lost": 0.8119,
                "total_contest": 0.7726,
                "won_contest": 0.1866,
                "ball_recovery": 1.2671,
                "challenges_lost": 0.2195,
                "fouls": 0.6583,
                "fouls_drawn": 1.2171,
                "blocks": 0.4142,
                "goals": 0.3674,
                "goal_rate": 0.3674,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.058,
                "expected_assists": 0.0272,
                "shots_on_target": 0.3674,
                "big_chances_created": 0.0,
                "xgot": 0.1474,
                "ball_carries": 6.4775,
                "total_progression": 28.0371,
                "progressive_carries": 0.7228,
                "key_pass": 0.2775,
                "shots_off_target": 0.1404,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.4,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 1.2,
                "defensive_success_rate": 0.452,
                "opponent_faced": "Alejandro Grimaldo",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Alejandro Grimaldo",
                  "matchup_zone": "Left Wing vs Right Back — Flank Battle"
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "interceptions": 0.7163,
                "tackles": 1.5645,
                "tackles_won": 0.954,
                "clearances": 3.3718,
                "aerial_won": 0.9619,
                "total_shots": 0.5078,
                "rating": 6.7601,
                "minutes": 74.45,
                "total_pass": 24.7965,
                "accurate_pass": 19.0647,
                "duels_won": 4.2532,
                "total_long_balls": 3.4123,
                "accurate_long_balls": 1.1806,
                "total_own_half_passes": 14.1936,
                "accurate_own_half_passes": 11.2412,
                "total_opp_half_passes": 10.6029,
                "accurate_opp_half_passes": 7.8235,
                "crosses_total": 1.4919,
                "crosses_accurate": 0.3168,
                "touches": 43.0253,
                "possession_lost": 9.6033,
                "dispossessed": 0.0828,
                "duels_lost": 2.2082,
                "aerial_lost": 0.8119,
                "total_contest": 0.7726,
                "won_contest": 0.1866,
                "ball_recovery": 1.2671,
                "challenges_lost": 0.2195,
                "fouls": 0.6583,
                "fouls_drawn": 1.2171,
                "blocks": 0.4142,
                "goal_rate": 0.3674,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.058,
                "expected_assists": 0.0272,
                "shots_on_target": 0.3674,
                "big_chances_created": 0.0,
                "xgot": 0.1474,
                "ball_carries": 6.4775,
                "total_progression": 28.0371,
                "progressive_carries": 0.7228,
                "key_pass": 0.2775,
                "shots_off_target": 0.1404,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.4,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 1.2,
                "defensive_success_rate": 0.452,
                "opponent_faced": "Alejandro Grimaldo",
                "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
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.19 (squad xG sum 0.9866, xG scale 1.2071, xA scale 1.4295, team xA 0.77 = 0.65 x lambda)",
              "stats": {
                "interceptions": 0.7163,
                "tackles": 1.5645,
                "tackles_won": 0.954,
                "clearances": 3.3718,
                "aerial_won": 0.9619,
                "total_shots": 0.5078,
                "rating": 6.7601,
                "minutes": 74.45,
                "total_pass": 24.7965,
                "accurate_pass": 19.0647,
                "duels_won": 4.2532,
                "total_long_balls": 3.4123,
                "accurate_long_balls": 1.1806,
                "total_own_half_passes": 14.1936,
                "accurate_own_half_passes": 11.2412,
                "total_opp_half_passes": 10.6029,
                "accurate_opp_half_passes": 7.8235,
                "crosses_total": 1.4919,
                "crosses_accurate": 0.3168,
                "touches": 43.0253,
                "possession_lost": 9.6033,
                "dispossessed": 0.0828,
                "duels_lost": 2.2082,
                "aerial_lost": 0.8119,
                "total_contest": 0.7726,
                "won_contest": 0.1866,
                "ball_recovery": 1.2671,
                "challenges_lost": 0.2195,
                "fouls": 0.6583,
                "fouls_drawn": 1.2171,
                "blocks": 0.4142,
                "goal_rate": 0.3674,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.07,
                "expected_assists": 0.0389,
                "shots_on_target": 0.3674,
                "big_chances_created": 0.0,
                "xgot": 0.1779,
                "ball_carries": 6.4775,
                "total_progression": 28.0371,
                "progressive_carries": 0.7228,
                "key_pass": 0.2775,
                "shots_off_target": 0.1404,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.4,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 1.2,
                "defensive_success_rate": 0.452,
                "opponent_faced": "Alejandro Grimaldo",
                "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,
                "finishing_factor": 1.25,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.191,
                "squad_xg_sum": 0.9866,
                "squad_xa_sum": 0.5416,
                "team_expected_assists": 0.7742,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.2071,
                "xa_scale": 1.4295,
                "opponent_lambda": 2.266,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.058,
                  "after": 0.07
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0272,
                  "after": 0.0389
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 8 by projected rating, fifa_overall 67.0)",
              "stats": {
                "interceptions": 0.7163,
                "tackles": 1.5645,
                "tackles_won": 0.954,
                "clearances": 3.3718,
                "aerial_won": 0.9619,
                "total_shots": 0.5078,
                "rating": 6.7601,
                "minutes": 74.45,
                "total_pass": 24.7965,
                "accurate_pass": 19.0647,
                "duels_won": 4.2532,
                "total_long_balls": 3.4123,
                "accurate_long_balls": 1.1806,
                "total_own_half_passes": 14.1936,
                "accurate_own_half_passes": 11.2412,
                "total_opp_half_passes": 10.6029,
                "accurate_opp_half_passes": 7.8235,
                "crosses_total": 1.4919,
                "crosses_accurate": 0.3168,
                "touches": 43.0253,
                "possession_lost": 9.6033,
                "dispossessed": 0.0828,
                "duels_lost": 2.2082,
                "aerial_lost": 0.8119,
                "total_contest": 0.7726,
                "won_contest": 0.1866,
                "ball_recovery": 1.2671,
                "challenges_lost": 0.2195,
                "fouls": 0.6583,
                "fouls_drawn": 1.2171,
                "blocks": 0.4142,
                "goal_rate": 0.3674,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.07,
                "expected_assists": 0.0389,
                "shots_on_target": 0.3674,
                "big_chances_created": 0.0,
                "xgot": 0.1779,
                "ball_carries": 6.4775,
                "total_progression": 28.0371,
                "progressive_carries": 0.7228,
                "key_pass": 0.2775,
                "shots_off_target": 0.1404,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.4,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 1.2,
                "defensive_success_rate": 0.452,
                "opponent_faced": "Alejandro Grimaldo",
                "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,
                "finishing_factor": 1.25,
                "creation_factor": 0.8,
                "fifa_overall": 67.0
              },
              "params": {
                "match_squad_rank": 8,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 6444,
                "fifa_rank": 9400.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 67.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 0.7163,
                "tackles": 1.5645,
                "tackles_won": 0.954,
                "clearances": 3.3718,
                "aerial_won": 0.9619,
                "total_shots": 0.5078,
                "rating": 6.7601,
                "minutes": 74.45,
                "total_pass": 24.7965,
                "accurate_pass": 19.0647,
                "duels_won": 4.2532,
                "total_long_balls": 3.4123,
                "accurate_long_balls": 1.1806,
                "total_own_half_passes": 14.1936,
                "accurate_own_half_passes": 11.2412,
                "total_opp_half_passes": 10.6029,
                "accurate_opp_half_passes": 7.8235,
                "crosses_total": 1.4919,
                "crosses_accurate": 0.3168,
                "touches": 43.0253,
                "possession_lost": 9.6033,
                "dispossessed": 0.0828,
                "duels_lost": 2.2082,
                "aerial_lost": 0.8119,
                "total_contest": 0.7726,
                "won_contest": 0.1866,
                "ball_recovery": 1.2671,
                "challenges_lost": 0.2195,
                "fouls": 0.6583,
                "fouls_drawn": 1.2171,
                "blocks": 0.4142,
                "goal_rate": 0.3674,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.07,
                "expected_assists": 0.0389,
                "shots_on_target": 0.3674,
                "big_chances_created": 0.0,
                "xgot": 0.1779,
                "ball_carries": 6.4775,
                "total_progression": 28.0371,
                "progressive_carries": 0.7228,
                "key_pass": 0.2775,
                "shots_off_target": 0.1404,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.4,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 1.2,
                "defensive_success_rate": 0.452,
                "opponent_faced": "Alejandro Grimaldo",
                "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.0676,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.25,
                "creation_factor": 0.8,
                "fifa_overall": 67.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0676,
                "goal_rate": 0.3674,
                "scorer_weight": 0.0875,
                "squad_weight_total": 1.3229,
                "weight_share": 0.0661,
                "finishing_factor": 1.25,
                "appearance_weight": 1.0,
                "weight_rank": 6,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Roger Brugué",
                    "weight": 0.315,
                    "already": 0,
                    "effective_weight": 0.315,
                    "runner_up": "Iván Romero",
                    "runner_up_effective_weight": 0.2553
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 0.7163,
                "tackles": 1.5645,
                "tackles_won": 0.954,
                "clearances": 3.3718,
                "aerial_won": 0.9619,
                "total_shots": 0.5078,
                "rating": 6.7601,
                "minutes": 74.45,
                "total_pass": 24.7965,
                "accurate_pass": 19.0647,
                "duels_won": 4.2532,
                "total_long_balls": 3.4123,
                "accurate_long_balls": 1.1806,
                "total_own_half_passes": 14.1936,
                "accurate_own_half_passes": 11.2412,
                "total_opp_half_passes": 10.6029,
                "accurate_opp_half_passes": 7.8235,
                "crosses_total": 1.4919,
                "crosses_accurate": 0.3168,
                "touches": 43.0253,
                "possession_lost": 9.6033,
                "dispossessed": 0.0828,
                "duels_lost": 2.2082,
                "aerial_lost": 0.8119,
                "total_contest": 0.7726,
                "won_contest": 0.1866,
                "ball_recovery": 1.2671,
                "challenges_lost": 0.2195,
                "fouls": 0.6583,
                "fouls_drawn": 1.2171,
                "blocks": 0.4142,
                "goal_rate": 0.3674,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.07,
                "expected_assists": 0.0389,
                "shots_on_target": 0.3674,
                "big_chances_created": 0.0,
                "xgot": 0.1779,
                "ball_carries": 6.4775,
                "total_progression": 28.0371,
                "progressive_carries": 0.7228,
                "key_pass": 0.2775,
                "shots_off_target": 0.1404,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.4,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 1.2,
                "defensive_success_rate": 0.452,
                "opponent_faced": "Alejandro Grimaldo",
                "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.0676,
                "projected_assists": 0,
                "assist_probability": 0.0382,
                "finishing_factor": 1.25,
                "creation_factor": 0.8,
                "fifa_overall": 67.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0382,
                "assist_rate": 0.0,
                "provider_weight": 0.0311,
                "squad_weight_total": 0.7982,
                "weight_share": 0.039,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 10,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Thiago Fernández",
                    "weight": 0.1951,
                    "already": 0,
                    "effective_weight": 0.1951,
                    "runner_up": "Jon Ander Olasagasti",
                    "runner_up_effective_weight": 0.1554,
                    "blocked_own_goal": [
                      "Roger Brugué"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Mathew Ryan": {
          "player_id": 134029,
          "position": "G",
          "position_depth": "G",
          "is_starter": true,
          "shirt_number": 13,
          "height": 184,
          "market_value": 1700000,
          "stats": {
            "saves": 3,
            "goals_prevented": -0.0581,
            "rating": 6.9904,
            "minutes": 86,
            "total_pass": 34,
            "accurate_pass": 24,
            "total_long_balls": 15,
            "accurate_long_balls": 6,
            "touches": 45,
            "clearances": 1,
            "ball_recovery": 9,
            "high_claims": 2,
            "punches": 0.3818,
            "aerial_won": 0,
            "sweeper_actions": 1,
            "sweeper_accurate": 1,
            "saves_inside_box": 1,
            "possession_lost": 9.6085,
            "duels_won": 0,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 23,
            "accurate_own_half_passes": 21,
            "gk_engine_opponent_lambda": 2.653,
            "shots_faced": 21.5,
            "expected_saves": 5.26,
            "high_pressure_saves": 1.81,
            "opponent_faced": "Julián Alvarez, Alejandro Grimaldo",
            "matchup_zone": "Goalkeeper shot-stopping context",
            "antagonist_source": "formation_fallback",
            "goals": 0,
            "projected_goals": 0,
            "goal_probability": 0.0,
            "assists": 0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "finishing_factor": 1.0,
            "creation_factor": 1.0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16421086,
              "match_date": "2026-10-25",
              "home_team": "Real Sociedad",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.001,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 42,
                "accurate_pass": 25,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 0,
                "ball_recovery": 6,
                "saves": 1,
                "goals_prevented": -0.1408
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 17122851,
              "match_date": "2026-10-21",
              "home_team": "Levante UD",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0004,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 37,
                "accurate_pass": 24,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 13,
                "saves": 3,
                "goals_prevented": -0.0169
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421070,
              "match_date": "2026-10-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 47,
                "rating": 6.8,
                "expected_assists": 0.0014,
                "total_shots": 0,
                "total_pass": 16,
                "accurate_pass": 10,
                "ball_recovery": 8,
                "saves": 3,
                "goals_prevented": 0.3354
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0016,
                "total_shots": 0,
                "total_pass": 45,
                "accurate_pass": 38,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 7,
                "saves": 2,
                "goals_prevented": -0.6572
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416294,
              "match_date": "2026-09-20",
              "home_team": "Villarreal",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0016,
                "total_shots": 0,
                "total_pass": 45,
                "accurate_pass": 38,
                "clearances": 1,
                "ball_recovery": 9,
                "saves": 3,
                "goals_prevented": -0.0389
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416329,
              "match_date": "2026-09-13",
              "home_team": "Levante UD",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 5.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0021,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 9,
                "clearances": 1,
                "ball_recovery": 6,
                "saves": 2,
                "goals_prevented": -0.3317
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416320,
              "match_date": "2026-09-06",
              "home_team": "Málaga CF",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 8.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 34,
                "accurate_pass": 27,
                "clearances": 2,
                "ball_recovery": 7,
                "saves": 3,
                "goals_prevented": 1.0551
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416309,
              "match_date": "2026-08-29",
              "home_team": "Levante UD",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0052,
                "total_shots": 0,
                "total_pass": 39,
                "accurate_pass": 32,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 14,
                "saves": 4,
                "goals_prevented": -0.4955
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416296,
              "match_date": "2026-08-24",
              "home_team": "Osasuna",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 9.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0005,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 22,
                "clearances": 1,
                "ball_recovery": 15,
                "saves": 7,
                "goals_prevented": 0.9807
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421053,
              "match_date": "2026-08-16",
              "home_team": "Espanyol",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 28,
                "tackles": 1,
                "clearances": 3,
                "duels_won": 1,
                "ball_recovery": 7,
                "saves": 3,
                "goals_prevented": -0.7259
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1126,
            "combined_rank_score": 506.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 64.0,
            "sofascore_rating": 7.6333,
            "sofascore_appearances": 3.0,
            "fifa_rank": 948.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.9904,
            "source_file": "data/player_rankings.csv",
            "player_name": "Mathew Ryan",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Ho-in Lee",
                  "ranking": 1121
                },
                {
                  "player_name": "Kim Min-jae",
                  "ranking": 1122
                },
                {
                  "player_name": "Hak-min Lee",
                  "ranking": 1123
                },
                {
                  "player_name": "Benjamin White",
                  "ranking": 1124
                },
                {
                  "player_name": "Đorđe Petrović",
                  "ranking": 1125
                }
              ],
              "lower": [
                {
                  "player_name": "Johan Manzambi",
                  "ranking": 1127
                },
                {
                  "player_name": "Rasul Yuldashev",
                  "ranking": 1128
                },
                {
                  "player_name": "Muhammad Yuldashev",
                  "ranking": 1129
                },
                {
                  "player_name": "Carlos Morales",
                  "ranking": 1130
                },
                {
                  "player_name": "Ousmane Diomande",
                  "ranking": 1131
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.78,
          "history_matches": 46,
          "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",
              "passValueNormalized",
              "defensiveValueNormalized",
              "goalkeeperValueNormalized",
              "goalsPrevented",
              "rating",
              "pass_accuracy",
              "long_ball_accuracy",
              "save_contribution",
              "inside_box_save_rate",
              "sweeper_accuracy",
              "sweeper_actions_p90",
              "distribution_accuracy",
              "commanding_index",
              "history_matches"
            ],
            "targets_predicted": [
              "saves",
              "goalsPrevented",
              "rating"
            ],
            "history_matches": 46,
            "data_confidence": 0.78,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.998,
            "fbref_prior_metrics": {
              "squad": "Levante",
              "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 46 historical appearances across 3 target models; FBref 2026-2027 prior blended (La Liga, Levante, 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": 2.9028,
                "goals_prevented": -0.0582,
                "rating": 6.9904,
                "minutes": 85.53,
                "total_pass": 33.8103,
                "accurate_pass": 24.2942,
                "total_long_balls": 15.344,
                "accurate_long_balls": 5.9163,
                "touches": 45.342,
                "clearances": 0.9997,
                "ball_recovery": 8.7293,
                "high_claims": 1.681,
                "punches": 0.3826,
                "aerial_won": 0.3315,
                "sweeper_actions": 0.8096,
                "sweeper_accurate": 0.8096,
                "saves_inside_box": 1.3899,
                "possession_lost": 9.6278,
                "duels_won": 0.4331,
                "duels_lost": 0.1363,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0593,
                "total_own_half_passes": 23.5181,
                "accurate_own_half_passes": 21.0203
              },
              "trace": {
                "model": {
                  "position_service": "G",
                  "schema_version": 5,
                  "trained_at": "2026-10-30T10:03:31.159511+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 201,
                    "rows": 7335
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Real Sociedad",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1501,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-10-21",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1276,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-10-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 47.0,
                    "is_starting": true,
                    "weight": 0.1084,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Sevilla",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0783,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 5.7
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 8.0
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Real Betis",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 9.0
                  },
                  {
                    "match_date": "2026-08-16",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "sweeper_actions_p90": 0.7023,
                  "accurateOwnHalfPasses": 21.0203,
                  "totalLongBalls": 15.344,
                  "commanding_index": 1.9673,
                  "accurateKeeperSweeper": 0.7874,
                  "distribution_accuracy": 0.8843
                },
                "per_target": [
                  {
                    "target": "saves",
                    "predicted": 2.902785301208496,
                    "model_output": 2.9028,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0453
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0393
                      },
                      {
                        "name": "save_contribution",
                        "importance": 0.038
                      },
                      {
                        "name": "saves",
                        "importance": 0.0361
                      },
                      {
                        "name": "commanding_index",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 2.9243,
                      "items": [
                        {
                          "name": "commanding_index",
                          "contribution": 0.0379
                        },
                        {
                          "name": "savedShotsFromInsideTheBox",
                          "contribution": -0.0215
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0182
                        },
                        {
                          "name": "sweeper_actions_p90",
                          "contribution": -0.016
                        },
                        {
                          "name": "accurateLongBalls",
                          "contribution": 0.0116
                        }
                      ],
                      "others": -0.0517,
                      "total": 2.9028,
                      "log_link": true,
                      "margin_base": 1.07304,
                      "item_margins": [
                        {
                          "name": "commanding_index",
                          "margin": 0.012872
                        },
                        {
                          "name": "savedShotsFromInsideTheBox",
                          "margin": -0.007293
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.006178
                        },
                        {
                          "name": "sweeper_actions_p90",
                          "margin": -0.00541
                        },
                        {
                          "name": "accurateLongBalls",
                          "margin": 0.003951
                        }
                      ],
                      "others_margin": -0.017667
                    }
                  },
                  {
                    "target": "goalsPrevented",
                    "predicted": -0.05818575620651245,
                    "model_output": -0.0582,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "accurateOwnHalfPasses",
                        "importance": 0.0462
                      },
                      {
                        "name": "goalkeeperValueNormalized",
                        "importance": 0.0392
                      },
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0391
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0381
                      },
                      {
                        "name": "punches",
                        "importance": 0.0369
                      }
                    ],
                    "decomposition": {
                      "base": -0.0231,
                      "items": [
                        {
                          "name": "accurateKeeperSweeper",
                          "contribution": -0.0225
                        },
                        {
                          "name": "inside_box_save_rate",
                          "contribution": -0.0185
                        },
                        {
                          "name": "punches",
                          "contribution": 0.0134
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0102
                        },
                        {
                          "name": "sweeper_accuracy",
                          "contribution": -0.0092
                        }
                      ],
                      "others": 0.0119,
                      "total": -0.0582,
                      "log_link": false,
                      "margin_base": -0.023055,
                      "item_margins": [
                        {
                          "name": "accurateKeeperSweeper",
                          "margin": -0.022452
                        },
                        {
                          "name": "inside_box_save_rate",
                          "margin": -0.018512
                        },
                        {
                          "name": "punches",
                          "margin": 0.013436
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": -0.010167
                        },
                        {
                          "name": "sweeper_accuracy",
                          "margin": -0.009212
                        }
                      ],
                      "others_margin": 0.011776
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.99044942855835,
                    "model_output": 6.9904,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalLongBalls",
                        "importance": 0.039
                      },
                      {
                        "name": "accurateKeeperSweeper",
                        "importance": 0.0364
                      },
                      {
                        "name": "accurateOwnHalfPasses",
                        "importance": 0.036
                      },
                      {
                        "name": "totalKeeperSweeper",
                        "importance": 0.0357
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0356
                      }
                    ],
                    "decomposition": {
                      "base": 6.9903,
                      "items": [
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.0216
                        },
                        {
                          "name": "accurateOwnHalfPasses",
                          "contribution": 0.0184
                        },
                        {
                          "name": "punches",
                          "contribution": 0.014
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "contribution": -0.0117
                        },
                        {
                          "name": "accurateLongBalls",
                          "contribution": 0.0111
                        }
                      ],
                      "others": -0.0101,
                      "total": 6.9904,
                      "log_link": false,
                      "margin_base": 6.99032,
                      "item_margins": [
                        {
                          "name": "minutesPlayed",
                          "margin": -0.021634
                        },
                        {
                          "name": "accurateOwnHalfPasses",
                          "margin": 0.018421
                        },
                        {
                          "name": "punches",
                          "margin": 0.014024
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "margin": -0.011706
                        },
                        {
                          "name": "accurateLongBalls",
                          "margin": 0.011118
                        }
                      ],
                      "others_margin": -0.010094
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 46,
                  "role_matches": 46,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9980, quality 0.437)",
              "stats": {
                "saves": 2.897,
                "goals_prevented": -0.0581,
                "rating": 6.9904,
                "minutes": 85.53,
                "total_pass": 33.7427,
                "accurate_pass": 24.2456,
                "total_long_balls": 15.3133,
                "accurate_long_balls": 5.9045,
                "touches": 45.2513,
                "clearances": 0.9977,
                "ball_recovery": 8.7118,
                "high_claims": 1.6776,
                "punches": 0.3818,
                "aerial_won": 0.3308,
                "sweeper_actions": 0.808,
                "sweeper_accurate": 0.808,
                "saves_inside_box": 1.3871,
                "possession_lost": 9.6085,
                "duels_won": 0.4322,
                "duels_lost": 0.136,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0592,
                "total_own_half_passes": 23.4711,
                "accurate_own_half_passes": 20.9783
              },
              "params": {
                "market_value_eur": 1700000,
                "quality_factor": 0.4374,
                "boost_factor": 0.998,
                "reference_quality": 0.505,
                "history_matches": 46,
                "history_shrink": 0.098,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0127)",
              "stats": {
                "saves": 2.9166,
                "goals_prevented": -0.0581,
                "rating": 6.9904,
                "minutes": 85.53,
                "total_pass": 33.7427,
                "accurate_pass": 24.2456,
                "total_long_balls": 15.3133,
                "accurate_long_balls": 5.9045,
                "touches": 45.2513,
                "clearances": 0.9977,
                "ball_recovery": 8.7118,
                "high_claims": 1.6776,
                "punches": 0.3818,
                "aerial_won": 0.3308,
                "sweeper_actions": 0.808,
                "sweeper_accurate": 0.808,
                "saves_inside_box": 1.3871,
                "possession_lost": 9.6085,
                "duels_won": 0.4322,
                "duels_lost": 0.136,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0625,
                "total_own_half_passes": 23.4711,
                "accurate_own_half_passes": 20.9783
              },
              "params": {
                "blend_weight": 0.0127,
                "history_matches": 46,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9503,
                "prior_reliability": 0.2,
                "competition": "La Liga",
                "squad": "Levante"
              },
              "changes": [
                {
                  "stat": "saves",
                  "before": 2.897,
                  "after": 2.9166
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 2.9166,
                "goals_prevented": -0.0581,
                "rating": 6.9904,
                "minutes": 85.53,
                "total_pass": 33.7427,
                "accurate_pass": 24.2456,
                "total_long_balls": 15.3133,
                "accurate_long_balls": 5.9045,
                "touches": 45.2513,
                "clearances": 0.9977,
                "ball_recovery": 8.7118,
                "high_claims": 1.6776,
                "punches": 0.3818,
                "aerial_won": 0.3308,
                "sweeper_actions": 0.808,
                "sweeper_accurate": 0.808,
                "saves_inside_box": 1.3871,
                "possession_lost": 9.6085,
                "duels_won": 0.4322,
                "duels_lost": 0.136,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0625,
                "total_own_half_passes": 23.4711,
                "accurate_own_half_passes": 20.9783
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "saves": 2.9166,
                "goals_prevented": -0.0581,
                "rating": 6.9904,
                "minutes": 85.53,
                "total_pass": 33.7427,
                "accurate_pass": 24.2456,
                "total_long_balls": 15.3133,
                "accurate_long_balls": 5.9045,
                "touches": 45.2513,
                "clearances": 0.9977,
                "ball_recovery": 8.7118,
                "high_claims": 1.6776,
                "punches": 0.3818,
                "aerial_won": 0.3308,
                "sweeper_actions": 0.808,
                "sweeper_accurate": 0.808,
                "saves_inside_box": 1.3871,
                "possession_lost": 9.6085,
                "duels_won": 0.4322,
                "duels_lost": 0.136,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0625,
                "total_own_half_passes": 23.4711,
                "accurate_own_half_passes": 20.9783,
                "gk_engine_opponent_lambda": 2.653,
                "shots_faced": 25.2,
                "expected_saves": 6.17,
                "high_pressure_saves": 2.12,
                "opponent_faced": "Julián Alvarez, Alejandro Grimaldo",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Julián Alvarez, Alejandro Grimaldo",
                  "matchup_zone": "Goalkeeper shot-stopping context",
                  "opponent_lambda": 2.653
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "saves": 2.9166,
                "goals_prevented": -0.0581,
                "rating": 6.9904,
                "minutes": 85.53,
                "total_pass": 33.7427,
                "accurate_pass": 24.2456,
                "total_long_balls": 15.3133,
                "accurate_long_balls": 5.9045,
                "touches": 45.2513,
                "clearances": 0.9977,
                "ball_recovery": 8.7118,
                "high_claims": 1.6776,
                "punches": 0.3818,
                "aerial_won": 0.3308,
                "sweeper_actions": 0.808,
                "sweeper_accurate": 0.808,
                "saves_inside_box": 1.3871,
                "possession_lost": 9.6085,
                "duels_won": 0.4322,
                "duels_lost": 0.136,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0625,
                "total_own_half_passes": 23.4711,
                "accurate_own_half_passes": 20.9783,
                "gk_engine_opponent_lambda": 2.653,
                "shots_faced": 25.2,
                "expected_saves": 6.17,
                "high_pressure_saves": 2.12,
                "opponent_faced": "Julián Alvarez, Alejandro Grimaldo",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.19 (squad xG sum 0.9866, xG scale 1.2071, xA scale 1.4295, team xA 0.77 = 0.65 x lambda)",
              "stats": {
                "saves": 2.9166,
                "goals_prevented": -0.0581,
                "rating": 6.9904,
                "minutes": 85.53,
                "total_pass": 33.7427,
                "accurate_pass": 24.2456,
                "total_long_balls": 15.3133,
                "accurate_long_balls": 5.9045,
                "touches": 45.2513,
                "clearances": 0.9977,
                "ball_recovery": 8.7118,
                "high_claims": 1.6776,
                "punches": 0.3818,
                "aerial_won": 0.3308,
                "sweeper_actions": 0.808,
                "sweeper_accurate": 0.808,
                "saves_inside_box": 1.3871,
                "possession_lost": 9.6085,
                "duels_won": 0.4322,
                "duels_lost": 0.136,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0625,
                "total_own_half_passes": 23.4711,
                "accurate_own_half_passes": 20.9783,
                "gk_engine_opponent_lambda": 2.653,
                "shots_faced": 21.5,
                "expected_saves": 5.26,
                "high_pressure_saves": 1.81,
                "opponent_faced": "Julián Alvarez, Alejandro Grimaldo",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0,
                "creation_factor": 1.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0
              },
              "params": {
                "team_lambda": 1.191,
                "squad_xg_sum": 0.9866,
                "squad_xa_sum": 0.5416,
                "team_expected_assists": 0.7742,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.2071,
                "xa_scale": 1.4295,
                "opponent_lambda": 2.266,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "shots_faced",
                  "before": 25.2,
                  "after": 21.5
                },
                {
                  "stat": "expected_saves",
                  "before": 6.17,
                  "after": 5.26
                },
                {
                  "stat": "high_pressure_saves",
                  "before": 2.12,
                  "after": 1.81
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 1 by projected rating, fifa_overall 79.0)",
              "stats": {
                "saves": 2.9166,
                "goals_prevented": -0.0581,
                "rating": 6.9904,
                "minutes": 85.53,
                "total_pass": 33.7427,
                "accurate_pass": 24.2456,
                "total_long_balls": 15.3133,
                "accurate_long_balls": 5.9045,
                "touches": 45.2513,
                "clearances": 0.9977,
                "ball_recovery": 8.7118,
                "high_claims": 1.6776,
                "punches": 0.3818,
                "aerial_won": 0.3308,
                "sweeper_actions": 0.808,
                "sweeper_accurate": 0.808,
                "saves_inside_box": 1.3871,
                "possession_lost": 9.6085,
                "duels_won": 0.4322,
                "duels_lost": 0.136,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0625,
                "total_own_half_passes": 23.4711,
                "accurate_own_half_passes": 20.9783,
                "gk_engine_opponent_lambda": 2.653,
                "shots_faced": 21.5,
                "expected_saves": 5.26,
                "high_pressure_saves": 1.81,
                "opponent_faced": "Julián Alvarez, Alejandro Grimaldo",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0,
                "creation_factor": 1.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 79.0
              },
              "params": {
                "match_squad_rank": 1,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1126,
                "fifa_rank": 948.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 79.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "saves": 2.9166,
                "goals_prevented": -0.0581,
                "rating": 6.9904,
                "minutes": 85.53,
                "total_pass": 33.7427,
                "accurate_pass": 24.2456,
                "total_long_balls": 15.3133,
                "accurate_long_balls": 5.9045,
                "touches": 45.2513,
                "clearances": 0.9977,
                "ball_recovery": 8.7118,
                "high_claims": 1.6776,
                "punches": 0.3818,
                "aerial_won": 0.3308,
                "sweeper_actions": 0.808,
                "sweeper_accurate": 0.808,
                "saves_inside_box": 1.3871,
                "possession_lost": 9.6085,
                "duels_won": 0.4322,
                "duels_lost": 0.136,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0625,
                "total_own_half_passes": 23.4711,
                "accurate_own_half_passes": 20.9783,
                "gk_engine_opponent_lambda": 2.653,
                "shots_faced": 21.5,
                "expected_saves": 5.26,
                "high_pressure_saves": 1.81,
                "opponent_faced": "Julián Alvarez, Alejandro Grimaldo",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0,
                "creation_factor": 1.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 79.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0,
                "scorer_weight": 0.0,
                "squad_weight_total": 1.3229,
                "weight_share": 0.0,
                "finishing_factor": 1.0,
                "appearance_weight": 1.0,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Roger Brugué",
                    "weight": 0.315,
                    "already": 0,
                    "effective_weight": 0.315,
                    "runner_up": "Iván Romero",
                    "runner_up_effective_weight": 0.2553
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "saves": 2.9166,
                "goals_prevented": -0.0581,
                "rating": 6.9904,
                "minutes": 85.53,
                "total_pass": 33.7427,
                "accurate_pass": 24.2456,
                "total_long_balls": 15.3133,
                "accurate_long_balls": 5.9045,
                "touches": 45.2513,
                "clearances": 0.9977,
                "ball_recovery": 8.7118,
                "high_claims": 1.6776,
                "punches": 0.3818,
                "aerial_won": 0.3308,
                "sweeper_actions": 0.808,
                "sweeper_accurate": 0.808,
                "saves_inside_box": 1.3871,
                "possession_lost": 9.6085,
                "duels_won": 0.4322,
                "duels_lost": 0.136,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0625,
                "total_own_half_passes": 23.4711,
                "accurate_own_half_passes": 20.9783,
                "gk_engine_opponent_lambda": 2.653,
                "shots_faced": 21.5,
                "expected_saves": 5.26,
                "high_pressure_saves": 1.81,
                "opponent_faced": "Julián Alvarez, Alejandro Grimaldo",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0,
                "creation_factor": 1.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 79.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0,
                "provider_weight": 0.0,
                "squad_weight_total": 0.7982,
                "weight_share": 0.0,
                "creation_factor": 1.0,
                "appearance_weight": 1.0,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Thiago Fernández",
                    "weight": 0.1951,
                    "already": 0,
                    "effective_weight": 0.1951,
                    "runner_up": "Jon Ander Olasagasti",
                    "runner_up_effective_weight": 0.1554,
                    "blocked_own_goal": [
                      "Roger Brugué"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Daniel Requena": {
          "player_id": 1521658,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 6,
          "height": 186,
          "market_value": 1500000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0496,
            "assist_rate": 0.0498,
            "assists": 0,
            "expected_goals": 0.0707,
            "goal_rate": 0.0576,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 6.7388,
            "minutes": 80,
            "total_pass": 22,
            "accurate_pass": 18,
            "duels_won": 5,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 12,
            "accurate_own_half_passes": 11,
            "total_opp_half_passes": 10,
            "accurate_opp_half_passes": 7,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 36,
            "possession_lost": 6.8904,
            "dispossessed": 0.6223,
            "duels_lost": 7,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 2,
            "tackles": 4,
            "clearances": 2,
            "total_contest": 2,
            "won_contest": 0,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0699,
            "ball_carries": 9,
            "total_progression": 8,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "duel_xg_multiplier": 0.737,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.4,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.241,
            "pressing_faced": "ULTRA_HIGH",
            "matchup_zone": "CDM vs CDM",
            "numerical_situation": "1v1",
            "opponent_defenders": "Morten Hjulmand",
            "opponent_faced": "Morten Hjulmand",
            "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0683,
            "projected_assists": 0,
            "assist_probability": 0.0484,
            "finishing_factor": 0.9908,
            "creation_factor": 1.1783,
            "fifa_overall": 84.0
          },
          "latest_10_games": [
            {
              "match_id": 16421086,
              "match_date": "2026-10-25",
              "home_team": "Real Sociedad",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 80,
                "rating": 6.5,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0501,
                "expected_assists": 0.0148,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 28,
                "accurate_pass": 24,
                "tackles": 7,
                "tackles_won": 2,
                "interceptions": 0,
                "clearances": 1,
                "aerial_won": 0,
                "duels_won": 7,
                "ball_recovery": 4,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 17122851,
              "match_date": "2026-10-21",
              "home_team": "Levante UD",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.2794,
                "expected_assists": 0.0229,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 29,
                "accurate_pass": 22,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 0,
                "clearances": 4,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 5,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421070,
              "match_date": "2026-10-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 47,
                "rating": 6.6,
                "expected_assists": 0.027,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 8,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 22,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0173,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 20,
                "key_pass": 1,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416294,
              "match_date": "2026-09-20",
              "home_team": "Villarreal",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 18,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0043,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 10,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416329,
              "match_date": "2026-09-13",
              "home_team": "Levante UD",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0324,
                "expected_assists": 0.0039,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 18,
                "accurate_pass": 17,
                "tackles": 3,
                "tackles_won": 3,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416320,
              "match_date": "2026-09-06",
              "home_team": "Málaga CF",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 9,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "total_shots": 0,
                "clearances": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 343,
            "combined_rank_score": 220.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 215.0,
            "fifa_overall": 84.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7388,
            "source_file": "data/player_rankings.csv",
            "player_name": "Daniel Requena",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Steven Benda",
                  "ranking": 338
                },
                {
                  "player_name": "Iker Monreal Agundez",
                  "ranking": 339
                },
                {
                  "player_name": "Exequiel Palacios",
                  "ranking": 340
                },
                {
                  "player_name": "Manuel Locatelli",
                  "ranking": 341
                },
                {
                  "player_name": "Zafarmurod Abdurakhmatov",
                  "ranking": 342
                }
              ],
              "lower": [
                {
                  "player_name": "Lee Jong-Eon",
                  "ranking": 344
                },
                {
                  "player_name": "Julian Ryerson",
                  "ranking": 345
                },
                {
                  "player_name": "Nicolás Ramírez",
                  "ranking": 346
                },
                {
                  "player_name": "Islombek Mamatkazin",
                  "ranking": 347
                },
                {
                  "player_name": "Urinboev Zabikhillo",
                  "ranking": 348
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.688,
          "history_matches": 7,
          "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",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "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",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 7,
            "data_confidence": 0.688,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 0.9916,
            "fbref_prior_metrics": {
              "squad": "Levante",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 0.0,
              "starts": 0.0,
              "prior_reliability": 0.0
            },
            "rationale": "XGBoost regressor (M_service) evaluated 7 historical appearances across 8 target models; FBref 2026-2027 prior blended (La Liga, Levante, rel: 0.00, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.5102,
                "expected_assists": 0.035,
                "assists": 0.0502,
                "assist_rate": 0.0502,
                "expected_goals": 0.0802,
                "goals": 0.0789,
                "goal_rate": 0.0789,
                "shots_on_target": 0.2972,
                "total_shots": 0.9487,
                "rating": 6.7388,
                "minutes": 80.08,
                "total_pass": 22.0317,
                "accurate_pass": 18.4898,
                "duels_won": 5.4009,
                "total_long_balls": 0.4595,
                "accurate_long_balls": 0.4595,
                "total_own_half_passes": 12.3018,
                "accurate_own_half_passes": 11.2618,
                "total_opp_half_passes": 9.7299,
                "accurate_opp_half_passes": 7.228,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 36.1206,
                "possession_lost": 6.9488,
                "dispossessed": 0.6276,
                "duels_lost": 6.7123,
                "aerial_won": 0.4935,
                "aerial_lost": 0.9929,
                "interceptions": 0.0,
                "tackles_won": 1.966,
                "tackles": 3.8018,
                "clearances": 1.6075,
                "total_contest": 1.6652,
                "won_contest": 0.1927,
                "challenges_lost": 1.1211,
                "fouls": 2.4981,
                "fouls_drawn": 0.9129,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.345,
                "xgot": 0.0792,
                "ball_carries": 8.5958,
                "total_progression": 7.8928,
                "progressive_carries": 0.2667,
                "shots_off_target": 0.6515
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Real Sociedad",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.2208,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-10-21",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1877,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-10-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 47.0,
                    "is_starting": true,
                    "weight": 0.1595,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Sevilla",
                    "minutes": 22.0,
                    "is_starting": false,
                    "weight": 0.1356,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Villarreal",
                    "minutes": 18.0,
                    "is_starting": false,
                    "weight": 0.1152,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.098,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Málaga CF",
                    "minutes": 9.0,
                    "is_starting": false,
                    "weight": 0.0833,
                    "rating": 6.6
                  }
                ],
                "feature_row": {
                  "history_matches": 7.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.6941,
                  "creative_index": 0.1383,
                  "expectedGoals": 0.0667,
                  "expectedAssists": 0.0151,
                  "totalOppositionHalfPasses": 9.3824
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.5102167129516602,
                    "model_output": 0.5102,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": -0.1235
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0966
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0913
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0762
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0293
                        }
                      ],
                      "others": -0.1458,
                      "total": 0.5102,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": -0.149281
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.13463
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.127657
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.105421
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.043704
                        }
                      ],
                      "others_margin": -0.251314
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.03495139256119728,
                    "model_output": 0.035,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": -0.0203
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0144
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0072
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0067
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0023
                        }
                      ],
                      "others": -0.0124,
                      "total": 0.035,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": -0.273542
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.252817
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.155256
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.144988
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.047077
                        }
                      ],
                      "others_margin": -0.304314
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.05024057999253273,
                    "model_output": 0.0502,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": -0.0116
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0064
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0062
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0054
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0047
                        }
                      ],
                      "others": -0.0133,
                      "total": 0.0502,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": -0.146144
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.08301
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.08087
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.076584
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.070857
                        }
                      ],
                      "others_margin": -0.234652
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.08016255497932434,
                    "model_output": 0.0802,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0126
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0114
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.006
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0056
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0043
                        }
                      ],
                      "others": -0.0077,
                      "total": 0.0802,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.129191
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.116046
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.067152
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.06284
                        },
                        {
                          "name": "goals",
                          "margin": -0.048048
                        }
                      ],
                      "others_margin": -0.092306
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.0788758248090744,
                    "model_output": 0.0789,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": -0.0129
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0112
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0106
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0064
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0042
                        }
                      ],
                      "others": -0.0144,
                      "total": 0.0789,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": -0.145609
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.1278
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.107576
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.063061
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.043736
                        }
                      ],
                      "others_margin": -0.168821
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.2972276210784912,
                    "model_output": 0.2972,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.057
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0443
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0306
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0196
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0099
                        }
                      ],
                      "others": -0.0095,
                      "total": 0.2972,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.197452
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.156695
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.095376
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.06
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.031772
                        }
                      ],
                      "others_margin": -0.031331
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.9486821889877319,
                    "model_output": 0.9487,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1429
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0816
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0545
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.022
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0215
                        }
                      ],
                      "others": -0.0427,
                      "total": 0.9487,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.142943
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.081611
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.054524
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.021976
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.021533
                        }
                      ],
                      "others_margin": -0.042678
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.738783359527588,
                    "model_output": 6.7388,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": -0.0367
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0335
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0246
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0159
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0158
                        }
                      ],
                      "others": -0.0391,
                      "total": 6.7388,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": -0.036653
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.033543
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.02462
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.015887
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.015813
                        }
                      ],
                      "others_margin": -0.039134
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 7,
                  "role_matches": 4,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9916, quality 0.437)",
              "stats": {
                "key_pass": 0.5059,
                "expected_assists": 0.0347,
                "assists": 0.0498,
                "assist_rate": 0.0498,
                "expected_goals": 0.0795,
                "goals": 0.0782,
                "goal_rate": 0.0782,
                "shots_on_target": 0.2947,
                "total_shots": 0.9408,
                "rating": 6.7388,
                "minutes": 80.08,
                "total_pass": 21.8466,
                "accurate_pass": 18.3345,
                "duels_won": 5.3555,
                "total_long_balls": 0.4556,
                "accurate_long_balls": 0.4556,
                "total_own_half_passes": 12.1985,
                "accurate_own_half_passes": 11.1672,
                "total_opp_half_passes": 9.6482,
                "accurate_opp_half_passes": 7.1673,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 35.8172,
                "possession_lost": 6.8904,
                "dispossessed": 0.6223,
                "duels_lost": 6.6559,
                "aerial_won": 0.4894,
                "aerial_lost": 0.9846,
                "interceptions": 0.0,
                "tackles_won": 1.9495,
                "tackles": 3.7699,
                "clearances": 1.594,
                "total_contest": 1.6512,
                "won_contest": 0.1911,
                "challenges_lost": 1.1117,
                "fouls": 2.4771,
                "fouls_drawn": 0.9052,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.3421,
                "xgot": 0.0785,
                "ball_carries": 8.5236,
                "total_progression": 7.8265,
                "progressive_carries": 0.2645,
                "shots_off_target": 0.646
              },
              "params": {
                "market_value_eur": 1500000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9916,
                "reference_quality": 0.505,
                "history_matches": 7,
                "history_shrink": 0.4167,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.5059,
                "expected_assists": 0.0347,
                "assists": 0.0498,
                "assist_rate": 0.0498,
                "expected_goals": 0.0795,
                "goals": 0.0782,
                "goal_rate": 0.0782,
                "shots_on_target": 0.2947,
                "total_shots": 0.9408,
                "rating": 6.7388,
                "minutes": 80.08,
                "total_pass": 21.8466,
                "accurate_pass": 18.3345,
                "duels_won": 5.3555,
                "total_long_balls": 0.4556,
                "accurate_long_balls": 0.4556,
                "total_own_half_passes": 12.1985,
                "accurate_own_half_passes": 11.1672,
                "total_opp_half_passes": 9.6482,
                "accurate_opp_half_passes": 7.1673,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 35.8172,
                "possession_lost": 6.8904,
                "dispossessed": 0.6223,
                "duels_lost": 6.6559,
                "aerial_won": 0.4894,
                "aerial_lost": 0.9846,
                "interceptions": 0.0,
                "tackles_won": 1.9495,
                "tackles": 3.7699,
                "clearances": 1.594,
                "total_contest": 1.6512,
                "won_contest": 0.1911,
                "challenges_lost": 1.1117,
                "fouls": 2.4771,
                "fouls_drawn": 0.9052,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.3421,
                "xgot": 0.0785,
                "ball_carries": 8.5236,
                "total_progression": 7.8265,
                "progressive_carries": 0.2645,
                "shots_off_target": 0.646
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 0.5059,
                "expected_assists": 0.0347,
                "assists": 0.0498,
                "assist_rate": 0.0498,
                "expected_goals": 0.0586,
                "goals": 0.0576,
                "goal_rate": 0.0576,
                "shots_on_target": 0.2172,
                "total_shots": 0.6934,
                "rating": 6.7388,
                "minutes": 80.08,
                "total_pass": 21.8466,
                "accurate_pass": 18.3345,
                "duels_won": 5.3555,
                "total_long_balls": 0.4556,
                "accurate_long_balls": 0.4556,
                "total_own_half_passes": 12.1985,
                "accurate_own_half_passes": 11.1672,
                "total_opp_half_passes": 9.6482,
                "accurate_opp_half_passes": 7.1673,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 35.8172,
                "possession_lost": 6.8904,
                "dispossessed": 0.6223,
                "duels_lost": 6.6559,
                "aerial_won": 1.2,
                "aerial_lost": 0.9846,
                "interceptions": 0.0,
                "tackles_won": 1.9495,
                "tackles": 3.7699,
                "clearances": 1.594,
                "total_contest": 1.6512,
                "won_contest": 0.1911,
                "challenges_lost": 1.1117,
                "fouls": 2.4771,
                "fouls_drawn": 0.9052,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.2521,
                "xgot": 0.0579,
                "ball_carries": 8.5236,
                "total_progression": 7.8265,
                "progressive_carries": 0.2645,
                "shots_off_target": 0.4761,
                "duel_xg_multiplier": 0.737,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.241,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morten Hjulmand",
                "opponent_faced": "Morten Hjulmand",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Morten Hjulmand",
                  "matchup_zone": "CDM vs CDM",
                  "duel_win_rate": 0.241,
                  "pressing_faced": "ULTRA_HIGH",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 0.737,
                  "skill_edge": -0.1829,
                  "height_edge": 0.004,
                  "attacker_skill": 0.4374,
                  "defender_skill": 0.8439,
                  "attacker_role": "CDM",
                  "attacker_mv_price_index": 0.85,
                  "defender_adjusted_parts": [
                    {
                      "player": "Morten Hjulmand",
                      "market_value": 48000000,
                      "role": "CDM",
                      "price_index": 0.85,
                      "adjusted_quality": 0.8439
                    }
                  ],
                  "xg_override": 0.0586
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.4894,
                  "after": 1.2
                },
                {
                  "stat": "totalShots",
                  "before": 0.9408,
                  "after": 0.6934
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.646,
                  "after": 0.4761
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.3421,
                  "after": 0.2521
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.2947,
                  "after": 0.2172
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.0795,
                  "after": 0.0586
                },
                {
                  "stat": "goals",
                  "before": 0.0782,
                  "after": 0.0576
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.0785,
                  "after": 0.0579
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 0.5059,
                "expected_assists": 0.0347,
                "assist_rate": 0.0498,
                "assists": 0,
                "expected_goals": 0.0586,
                "goal_rate": 0.0576,
                "goals": 0,
                "shots_on_target": 0.2172,
                "total_shots": 0.6934,
                "rating": 6.7388,
                "minutes": 80.08,
                "total_pass": 21.8466,
                "accurate_pass": 18.3345,
                "duels_won": 5.3555,
                "total_long_balls": 0.4556,
                "accurate_long_balls": 0.4556,
                "total_own_half_passes": 12.1985,
                "accurate_own_half_passes": 11.1672,
                "total_opp_half_passes": 9.6482,
                "accurate_opp_half_passes": 7.1673,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 35.8172,
                "possession_lost": 6.8904,
                "dispossessed": 0.6223,
                "duels_lost": 6.6559,
                "aerial_won": 1.2,
                "aerial_lost": 0.9846,
                "interceptions": 0.0,
                "tackles_won": 1.9495,
                "tackles": 3.7699,
                "clearances": 1.594,
                "total_contest": 1.6512,
                "won_contest": 0.1911,
                "challenges_lost": 1.1117,
                "fouls": 2.4771,
                "fouls_drawn": 0.9052,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.2521,
                "xgot": 0.0579,
                "ball_carries": 8.5236,
                "total_progression": 7.8265,
                "progressive_carries": 0.2645,
                "shots_off_target": 0.4761,
                "duel_xg_multiplier": 0.737,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.241,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morten Hjulmand",
                "opponent_faced": "Morten Hjulmand",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.19 (squad xG sum 0.9866, xG scale 1.2071, xA scale 1.4295, team xA 0.77 = 0.65 x lambda)",
              "stats": {
                "key_pass": 0.5059,
                "expected_assists": 0.0496,
                "assist_rate": 0.0498,
                "assists": 0,
                "expected_goals": 0.0707,
                "goal_rate": 0.0576,
                "goals": 0,
                "shots_on_target": 0.2172,
                "total_shots": 0.6934,
                "rating": 6.7388,
                "minutes": 80.08,
                "total_pass": 21.8466,
                "accurate_pass": 18.3345,
                "duels_won": 5.3555,
                "total_long_balls": 0.4556,
                "accurate_long_balls": 0.4556,
                "total_own_half_passes": 12.1985,
                "accurate_own_half_passes": 11.1672,
                "total_opp_half_passes": 9.6482,
                "accurate_opp_half_passes": 7.1673,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 35.8172,
                "possession_lost": 6.8904,
                "dispossessed": 0.6223,
                "duels_lost": 6.6559,
                "aerial_won": 1.2,
                "aerial_lost": 0.9846,
                "interceptions": 0.0,
                "tackles_won": 1.9495,
                "tackles": 3.7699,
                "clearances": 1.594,
                "total_contest": 1.6512,
                "won_contest": 0.1911,
                "challenges_lost": 1.1117,
                "fouls": 2.4771,
                "fouls_drawn": 0.9052,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.2521,
                "xgot": 0.0699,
                "ball_carries": 8.5236,
                "total_progression": 7.8265,
                "progressive_carries": 0.2645,
                "shots_off_target": 0.4761,
                "duel_xg_multiplier": 0.737,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.241,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morten Hjulmand",
                "opponent_faced": "Morten Hjulmand",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9908,
                "creation_factor": 1.1783
              },
              "params": {
                "team_lambda": 1.191,
                "squad_xg_sum": 0.9866,
                "squad_xa_sum": 0.5416,
                "team_expected_assists": 0.7742,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.2071,
                "xa_scale": 1.4295,
                "opponent_lambda": 2.266,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0586,
                  "after": 0.0707
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0347,
                  "after": 0.0496
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 12 by projected rating, fifa_overall 84.0)",
              "stats": {
                "key_pass": 0.5059,
                "expected_assists": 0.0496,
                "assist_rate": 0.0498,
                "assists": 0,
                "expected_goals": 0.0707,
                "goal_rate": 0.0576,
                "goals": 0,
                "shots_on_target": 0.2172,
                "total_shots": 0.6934,
                "rating": 6.7388,
                "minutes": 80.08,
                "total_pass": 21.8466,
                "accurate_pass": 18.3345,
                "duels_won": 5.3555,
                "total_long_balls": 0.4556,
                "accurate_long_balls": 0.4556,
                "total_own_half_passes": 12.1985,
                "accurate_own_half_passes": 11.1672,
                "total_opp_half_passes": 9.6482,
                "accurate_opp_half_passes": 7.1673,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 35.8172,
                "possession_lost": 6.8904,
                "dispossessed": 0.6223,
                "duels_lost": 6.6559,
                "aerial_won": 1.2,
                "aerial_lost": 0.9846,
                "interceptions": 0.0,
                "tackles_won": 1.9495,
                "tackles": 3.7699,
                "clearances": 1.594,
                "total_contest": 1.6512,
                "won_contest": 0.1911,
                "challenges_lost": 1.1117,
                "fouls": 2.4771,
                "fouls_drawn": 0.9052,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.2521,
                "xgot": 0.0699,
                "ball_carries": 8.5236,
                "total_progression": 7.8265,
                "progressive_carries": 0.2645,
                "shots_off_target": 0.4761,
                "duel_xg_multiplier": 0.737,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.241,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morten Hjulmand",
                "opponent_faced": "Morten Hjulmand",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9908,
                "creation_factor": 1.1783,
                "fifa_overall": 84.0
              },
              "params": {
                "match_squad_rank": 12,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 343,
                "fifa_rank": 215.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 84.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 0.5059,
                "expected_assists": 0.0496,
                "assist_rate": 0.0498,
                "assists": 0,
                "expected_goals": 0.0707,
                "goal_rate": 0.0576,
                "goals": 0,
                "shots_on_target": 0.2172,
                "total_shots": 0.6934,
                "rating": 6.7388,
                "minutes": 80.08,
                "total_pass": 21.8466,
                "accurate_pass": 18.3345,
                "duels_won": 5.3555,
                "total_long_balls": 0.4556,
                "accurate_long_balls": 0.4556,
                "total_own_half_passes": 12.1985,
                "accurate_own_half_passes": 11.1672,
                "total_opp_half_passes": 9.6482,
                "accurate_opp_half_passes": 7.1673,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 35.8172,
                "possession_lost": 6.8904,
                "dispossessed": 0.6223,
                "duels_lost": 6.6559,
                "aerial_won": 1.2,
                "aerial_lost": 0.9846,
                "interceptions": 0.0,
                "tackles_won": 1.9495,
                "tackles": 3.7699,
                "clearances": 1.594,
                "total_contest": 1.6512,
                "won_contest": 0.1911,
                "challenges_lost": 1.1117,
                "fouls": 2.4771,
                "fouls_drawn": 0.9052,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.2521,
                "xgot": 0.0699,
                "ball_carries": 8.5236,
                "total_progression": 7.8265,
                "progressive_carries": 0.2645,
                "shots_off_target": 0.4761,
                "duel_xg_multiplier": 0.737,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.241,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morten Hjulmand",
                "opponent_faced": "Morten Hjulmand",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0683,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9908,
                "creation_factor": 1.1783,
                "fifa_overall": 84.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0683,
                "goal_rate": 0.0576,
                "scorer_weight": 0.07,
                "squad_weight_total": 1.3229,
                "weight_share": 0.053,
                "finishing_factor": 0.9908,
                "appearance_weight": 1.0,
                "weight_rank": 8,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Roger Brugué",
                    "weight": 0.315,
                    "already": 0,
                    "effective_weight": 0.315,
                    "runner_up": "Iván Romero",
                    "runner_up_effective_weight": 0.2553
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.5059,
                "expected_assists": 0.0496,
                "assist_rate": 0.0498,
                "assists": 0,
                "expected_goals": 0.0707,
                "goal_rate": 0.0576,
                "goals": 0,
                "shots_on_target": 0.2172,
                "total_shots": 0.6934,
                "rating": 6.7388,
                "minutes": 80.08,
                "total_pass": 21.8466,
                "accurate_pass": 18.3345,
                "duels_won": 5.3555,
                "total_long_balls": 0.4556,
                "accurate_long_balls": 0.4556,
                "total_own_half_passes": 12.1985,
                "accurate_own_half_passes": 11.1672,
                "total_opp_half_passes": 9.6482,
                "accurate_opp_half_passes": 7.1673,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 35.8172,
                "possession_lost": 6.8904,
                "dispossessed": 0.6223,
                "duels_lost": 6.6559,
                "aerial_won": 1.2,
                "aerial_lost": 0.9846,
                "interceptions": 0.0,
                "tackles_won": 1.9495,
                "tackles": 3.7699,
                "clearances": 1.594,
                "total_contest": 1.6512,
                "won_contest": 0.1911,
                "challenges_lost": 1.1117,
                "fouls": 2.4771,
                "fouls_drawn": 0.9052,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.2521,
                "xgot": 0.0699,
                "ball_carries": 8.5236,
                "total_progression": 7.8265,
                "progressive_carries": 0.2645,
                "shots_off_target": 0.4761,
                "duel_xg_multiplier": 0.737,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.241,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Morten Hjulmand",
                "opponent_faced": "Morten Hjulmand",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0683,
                "projected_assists": 0,
                "assist_probability": 0.0484,
                "finishing_factor": 0.9908,
                "creation_factor": 1.1783,
                "fifa_overall": 84.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0484,
                "assist_rate": 0.0498,
                "provider_weight": 0.0584,
                "squad_weight_total": 0.7982,
                "weight_share": 0.0732,
                "creation_factor": 1.1783,
                "appearance_weight": 1.0,
                "weight_rank": 5,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Thiago Fernández",
                    "weight": 0.1951,
                    "already": 0,
                    "effective_weight": 0.1951,
                    "runner_up": "Jon Ander Olasagasti",
                    "runner_up_effective_weight": 0.1554,
                    "blocked_own_goal": [
                      "Roger Brugué"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Roger Brugué": {
          "player_id": 909554,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 7,
          "height": 173,
          "market_value": 2800000,
          "stats": {
            "expected_goals": 0.2894,
            "goal_rate": 0.2653,
            "goals": 1,
            "shots_on_target": 1,
            "total_shots": 2,
            "expected_assists": 0.0703,
            "key_pass": 1,
            "rating": 6.7551,
            "minutes": 73,
            "total_pass": 15,
            "accurate_pass": 12,
            "duels_won": 3,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_opp_half_passes": 9,
            "accurate_opp_half_passes": 7,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 26,
            "possession_lost": 7.2492,
            "dispossessed": 0.4608,
            "duels_lost": 4,
            "aerial_lost": 2,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 2,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "assist_rate": 0.1267,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.3495,
            "offsides": 0,
            "ball_carries": 9,
            "total_progression": 7,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.731,
            "dribbles_attempted": 3,
            "dribbles_successful": 0.6,
            "aerial_won": 1,
            "crosses_attempted": 1.9,
            "duel_win_rate": 0.237,
            "pressing_faced": "LOW",
            "matchup_zone": "Left Wing vs Right Back — Flank Battle",
            "numerical_situation": "1v1",
            "opponent_defenders": "Jan Oblak",
            "opponent_faced": "Jan Oblak",
            "antagonist_source": "attacking_duel",
            "projected_goals": 1,
            "goal_probability": 0.2513,
            "projected_assists": 0,
            "assist_probability": 0.0679,
            "finishing_factor": 1.0884,
            "creation_factor": 1.25,
            "fifa_overall": 88.0
          },
          "latest_10_games": [
            {
              "match_id": 16421086,
              "match_date": "2026-10-25",
              "home_team": "Real Sociedad",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 45,
                "rating": 6.3,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.003,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 9,
                "accurate_pass": 9,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 0,
                "ball_recovery": 0,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 17122851,
              "match_date": "2026-10-21",
              "home_team": "Levante UD",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 72,
                "rating": 8.2,
                "goal_rate": 2.0,
                "goals": 2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.5478,
                "expected_assists": 0.1835,
                "total_shots": 2,
                "shots_on_target": 2,
                "shots_off_target": 0,
                "total_pass": 15,
                "accurate_pass": 11,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 0,
                "duels_won": 1,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421070,
              "match_date": "2026-10-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 47,
                "rating": 6.6,
                "expected_assists": 0.016,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 8,
                "tackles": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.4183,
                "expected_assists": 0.09,
                "total_shots": 4,
                "shots_on_target": 1,
                "shots_off_target": 3,
                "total_pass": 21,
                "accurate_pass": 18,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416294,
              "match_date": "2026-09-20",
              "home_team": "Villarreal",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0343,
                "expected_assists": 0.0229,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 15,
                "accurate_pass": 12,
                "tackles": 3,
                "tackles_won": 3,
                "clearances": 2,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416329,
              "match_date": "2026-09-13",
              "home_team": "Levante UD",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.7315,
                "expected_assists": 0.0037,
                "total_shots": 4,
                "shots_on_target": 3,
                "total_pass": 16,
                "accurate_pass": 11,
                "tackles": 4,
                "tackles_won": 2,
                "interceptions": 1,
                "duels_won": 6,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416320,
              "match_date": "2026-09-06",
              "home_team": "Málaga CF",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1037,
                "expected_assists": 0.0001,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 15,
                "accurate_pass": 9,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416309,
              "match_date": "2026-08-29",
              "home_team": "Levante UD",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 84,
                "rating": 8.1,
                "goal_rate": 2.0,
                "goals": 2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 1.3226,
                "expected_assists": 0.1867,
                "total_shots": 4,
                "shots_on_target": 2,
                "shots_off_target": 2,
                "total_pass": 11,
                "accurate_pass": 8,
                "key_pass": 1,
                "tackles": 1,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416296,
              "match_date": "2026-08-24",
              "home_team": "Osasuna",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.527,
                "expected_assists": 0.0403,
                "total_shots": 3,
                "shots_off_target": 2,
                "total_pass": 20,
                "accurate_pass": 15,
                "key_pass": 1,
                "tackles": 1,
                "clearances": 1,
                "aerial_won": 3,
                "duels_won": 6,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083676,
              "match_date": "2026-05-17",
              "home_team": "Levante UD",
              "away_team": "Mallorca",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Mallorca",
              "stats": {
                "minutes": 20,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0781,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 1,
                "accurate_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 229,
            "combined_rank_score": 100.0,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 172.0,
            "sofascore_rating": 7.25,
            "sofascore_appearances": 2.0,
            "fifa_rank": 28.0,
            "fifa_overall": 88.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7551,
            "source_file": "data/player_rankings.csv",
            "player_name": "Roger Brugué",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Rodrigo Riquelme",
                  "ranking": 224
                },
                {
                  "player_name": "Luis Chávez",
                  "ranking": 225
                },
                {
                  "player_name": "Julio González",
                  "ranking": 226
                },
                {
                  "player_name": "Gabriel Magalhães",
                  "ranking": 227
                },
                {
                  "player_name": "Ikram Alibaev",
                  "ranking": 228
                }
              ],
              "lower": [
                {
                  "player_name": "Luis Sinisterra",
                  "ranking": 230
                },
                {
                  "player_name": "Min Junyeong",
                  "ranking": 231
                },
                {
                  "player_name": "William Saliba",
                  "ranking": 232
                },
                {
                  "player_name": "Elliot Anderson",
                  "ranking": 233
                },
                {
                  "player_name": "Nikolai Ivanov",
                  "ranking": 234
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 28,
          "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",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "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",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 28,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 0.9969,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (F_service) evaluated 28 historical appearances across 7 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.3289,
                "goals": 0.364,
                "goal_rate": 0.364,
                "shots_on_target": 0.9323,
                "total_shots": 2.094,
                "expected_assists": 0.0494,
                "key_pass": 0.6614,
                "rating": 6.7551,
                "minutes": 72.53,
                "total_pass": 14.6912,
                "accurate_pass": 11.8414,
                "duels_won": 2.7929,
                "total_long_balls": 0.8896,
                "accurate_long_balls": 0.5969,
                "total_opp_half_passes": 9.3596,
                "accurate_opp_half_passes": 7.0429,
                "crosses_total": 1.6445,
                "crosses_accurate": 0.0412,
                "touches": 26.3318,
                "possession_lost": 7.2717,
                "dispossessed": 0.4622,
                "duels_lost": 4.3089,
                "aerial_lost": 1.9008,
                "total_contest": 0.9298,
                "won_contest": 0.3248,
                "ball_recovery": 1.954,
                "challenges_lost": 0.6127,
                "fouls": 0.798,
                "fouls_drawn": 0.7786,
                "assists": 0.1271,
                "assist_rate": 0.1271,
                "interceptions": 0.2397,
                "tackles_won": 0.5204,
                "tackles": 0.9334,
                "clearances": 0.9734,
                "blocks": 0.101,
                "big_chances_created": 0.0188,
                "big_chances_missed": 0.2049,
                "xgot": 0.3973,
                "offsides": 0.1026,
                "ball_carries": 8.5597,
                "total_progression": 6.6121,
                "progressive_carries": 0.7597,
                "shots_off_target": 1.1616
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Real Sociedad",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.1516,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-10-21",
                    "opponent": "Athletic Club",
                    "minutes": 72.0,
                    "is_starting": true,
                    "weight": 0.1289,
                    "rating": 8.2
                  },
                  {
                    "match_date": "2026-10-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 47.0,
                    "is_starting": true,
                    "weight": 0.1095,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Sevilla",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0931,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0791,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0673,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0572,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Real Betis",
                    "minutes": 84.0,
                    "is_starting": true,
                    "weight": 0.0486,
                    "rating": 8.1
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0413,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Mallorca",
                    "minutes": 20.0,
                    "is_starting": false,
                    "weight": 0.0351,
                    "rating": 6.2
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "expectedGoals": 0.2949,
                  "accuratePass": 10.6087,
                  "totalOppositionHalfPasses": 8.5297,
                  "accurateOppositionHalfPasses": 6.3907,
                  "totalShots": 1.728
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.3289147913455963,
                    "model_output": 0.3289,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0754
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0308
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0241
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": 0.0087
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.007
                        }
                      ],
                      "others": 0.001,
                      "total": 0.3289,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.32569
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.107475
                        },
                        {
                          "name": "goals",
                          "margin": 0.076834
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": 0.026198
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": -0.021222
                        }
                      ],
                      "others_margin": 0.003029
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.3640199601650238,
                    "model_output": 0.364,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0819
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0347
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0339
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": 0.0176
                        },
                        {
                          "name": "dispossessed",
                          "contribution": -0.0164
                        }
                      ],
                      "others": 0.0118,
                      "total": 0.364,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.34248
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.115998
                        },
                        {
                          "name": "goals",
                          "margin": 0.10162
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": 0.048884
                        },
                        {
                          "name": "dispossessed",
                          "margin": -0.045572
                        }
                      ],
                      "others_margin": 0.033101
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.9323419332504272,
                    "model_output": 0.9323,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1757
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0617
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0587
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0468
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0432
                        }
                      ],
                      "others": 0.014,
                      "total": 0.9323,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.285269
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.083573
                        },
                        {
                          "name": "goals",
                          "margin": 0.073491
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.054928
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.048165
                        }
                      ],
                      "others_margin": 0.015291
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 2.0939652919769287,
                    "model_output": 2.094,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.52
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.1236
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0829
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0678
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0489
                        }
                      ],
                      "others": 0.0364,
                      "total": 2.094,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.51999
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.123633
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.082895
                        },
                        {
                          "name": "goals",
                          "margin": 0.067754
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.048929
                        }
                      ],
                      "others_margin": 0.036403
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.04940049350261688,
                    "model_output": 0.0494,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0138
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.009
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0077
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0074
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.0048
                        }
                      ],
                      "others": -0.0146,
                      "total": 0.0494,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.193993
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.122326
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.118666
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.114047
                        },
                        {
                          "name": "keyPass",
                          "margin": -0.072841
                        }
                      ],
                      "others_margin": -0.257931
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.6613771319389343,
                    "model_output": 0.6614,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.201
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0683
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.0433
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0369
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0328
                        }
                      ],
                      "others": -0.045,
                      "total": 0.6614,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.256706
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.080094
                        },
                        {
                          "name": "keyPass",
                          "margin": -0.054243
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.048718
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.045373
                        }
                      ],
                      "others_margin": -0.065905
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.755120754241943,
                    "model_output": 6.7551,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0559
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0169
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0125
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0108
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": -0.0092
                        }
                      ],
                      "others": -0.0438,
                      "total": 6.7551,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.055906
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": -0.016943
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.01253
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.010809
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": -0.009157
                        }
                      ],
                      "others_margin": -0.043808
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 28,
                  "role_matches": 19,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9969, quality 0.437)",
              "stats": {
                "expected_goals": 0.3279,
                "goals": 0.3629,
                "goal_rate": 0.3629,
                "shots_on_target": 0.9295,
                "total_shots": 2.0875,
                "expected_assists": 0.0492,
                "key_pass": 0.6593,
                "rating": 6.7551,
                "minutes": 72.53,
                "total_pass": 14.6457,
                "accurate_pass": 11.8047,
                "duels_won": 2.7842,
                "total_long_balls": 0.8868,
                "accurate_long_balls": 0.595,
                "total_opp_half_passes": 9.3306,
                "accurate_opp_half_passes": 7.0211,
                "crosses_total": 1.6394,
                "crosses_accurate": 0.0411,
                "touches": 26.2502,
                "possession_lost": 7.2492,
                "dispossessed": 0.4608,
                "duels_lost": 4.2955,
                "aerial_lost": 1.8949,
                "total_contest": 0.9269,
                "won_contest": 0.3238,
                "ball_recovery": 1.9479,
                "challenges_lost": 0.6108,
                "fouls": 0.7955,
                "fouls_drawn": 0.7762,
                "assists": 0.1267,
                "assist_rate": 0.1267,
                "interceptions": 0.239,
                "tackles_won": 0.5188,
                "tackles": 0.9305,
                "clearances": 0.9704,
                "blocks": 0.1007,
                "big_chances_created": 0.0187,
                "big_chances_missed": 0.2043,
                "xgot": 0.3961,
                "offsides": 0.1023,
                "ball_carries": 8.5332,
                "total_progression": 6.5916,
                "progressive_carries": 0.7573,
                "shots_off_target": 1.158
              },
              "params": {
                "market_value_eur": 2800000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9969,
                "reference_quality": 0.505,
                "history_matches": 28,
                "history_shrink": 0.1515,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.3279,
                "goals": 0.3629,
                "goal_rate": 0.3629,
                "shots_on_target": 0.9295,
                "total_shots": 2.0875,
                "expected_assists": 0.0492,
                "key_pass": 0.6593,
                "rating": 6.7551,
                "minutes": 72.53,
                "total_pass": 14.6457,
                "accurate_pass": 11.8047,
                "duels_won": 2.7842,
                "total_long_balls": 0.8868,
                "accurate_long_balls": 0.595,
                "total_opp_half_passes": 9.3306,
                "accurate_opp_half_passes": 7.0211,
                "crosses_total": 1.6394,
                "crosses_accurate": 0.0411,
                "touches": 26.2502,
                "possession_lost": 7.2492,
                "dispossessed": 0.4608,
                "duels_lost": 4.2955,
                "aerial_lost": 1.8949,
                "total_contest": 0.9269,
                "won_contest": 0.3238,
                "ball_recovery": 1.9479,
                "challenges_lost": 0.6108,
                "fouls": 0.7955,
                "fouls_drawn": 0.7762,
                "assists": 0.1267,
                "assist_rate": 0.1267,
                "interceptions": 0.239,
                "tackles_won": 0.5188,
                "tackles": 0.9305,
                "clearances": 0.9704,
                "blocks": 0.1007,
                "big_chances_created": 0.0187,
                "big_chances_missed": 0.2043,
                "xgot": 0.3961,
                "offsides": 0.1023,
                "ball_carries": 8.5332,
                "total_progression": 6.5916,
                "progressive_carries": 0.7573,
                "shots_off_target": 1.158
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.2397,
                "goals": 0.2653,
                "goal_rate": 0.2653,
                "shots_on_target": 0.6795,
                "total_shots": 1.526,
                "expected_assists": 0.0492,
                "key_pass": 0.6593,
                "rating": 6.7551,
                "minutes": 72.53,
                "total_pass": 14.6457,
                "accurate_pass": 11.8047,
                "duels_won": 2.7842,
                "total_long_balls": 0.8868,
                "accurate_long_balls": 0.595,
                "total_opp_half_passes": 9.3306,
                "accurate_opp_half_passes": 7.0211,
                "crosses_total": 1.6394,
                "crosses_accurate": 0.0411,
                "touches": 26.2502,
                "possession_lost": 7.2492,
                "dispossessed": 0.4608,
                "duels_lost": 4.2955,
                "aerial_lost": 1.8949,
                "total_contest": 0.9269,
                "won_contest": 0.3238,
                "ball_recovery": 1.9479,
                "challenges_lost": 0.6108,
                "fouls": 0.7955,
                "fouls_drawn": 0.7762,
                "assists": 0.1267,
                "assist_rate": 0.1267,
                "interceptions": 0.239,
                "tackles_won": 0.5188,
                "tackles": 0.9305,
                "clearances": 0.9704,
                "blocks": 0.1007,
                "big_chances_created": 0.0187,
                "big_chances_missed": 0.1493,
                "xgot": 0.2895,
                "offsides": 0.1023,
                "ball_carries": 8.5332,
                "total_progression": 6.5916,
                "progressive_carries": 0.7573,
                "shots_off_target": 0.8465,
                "duel_xg_multiplier": 0.731,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.6,
                "aerial_won": 0.9,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.237,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jan Oblak",
                "opponent_faced": "Jan Oblak",
                "antagonist_source": "attacking_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Jan Oblak",
                  "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                  "duel_win_rate": 0.237,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 0.731,
                  "skill_edge": -0.123,
                  "height_edge": -0.06,
                  "attacker_skill": 0.4374,
                  "defender_skill": 0.7107,
                  "attacker_role": "LW",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Jan Oblak",
                      "market_value": 16000000,
                      "role": "GK",
                      "price_index": 0.55,
                      "adjusted_quality": 0.7107
                    }
                  ],
                  "xg_override": 0.2397
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 2.0875,
                  "after": 1.526
                },
                {
                  "stat": "shotOffTarget",
                  "before": 1.158,
                  "after": 0.8465
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.9295,
                  "after": 0.6795
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.3961,
                  "after": 0.2895
                },
                {
                  "stat": "goals",
                  "before": 0.3629,
                  "after": 0.2653
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.3279,
                  "after": 0.2397
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.2043,
                  "after": 0.1493
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.2397,
                "goal_rate": 0.2653,
                "goals": 0,
                "shots_on_target": 0.6795,
                "total_shots": 1.526,
                "expected_assists": 0.0492,
                "key_pass": 0.6593,
                "rating": 6.7551,
                "minutes": 72.53,
                "total_pass": 14.6457,
                "accurate_pass": 11.8047,
                "duels_won": 2.7842,
                "total_long_balls": 0.8868,
                "accurate_long_balls": 0.595,
                "total_opp_half_passes": 9.3306,
                "accurate_opp_half_passes": 7.0211,
                "crosses_total": 1.6394,
                "crosses_accurate": 0.0411,
                "touches": 26.2502,
                "possession_lost": 7.2492,
                "dispossessed": 0.4608,
                "duels_lost": 4.2955,
                "aerial_lost": 1.8949,
                "total_contest": 0.9269,
                "won_contest": 0.3238,
                "ball_recovery": 1.9479,
                "challenges_lost": 0.6108,
                "fouls": 0.7955,
                "fouls_drawn": 0.7762,
                "assist_rate": 0.1267,
                "assists": 0,
                "interceptions": 0.239,
                "tackles_won": 0.5188,
                "tackles": 0.9305,
                "clearances": 0.9704,
                "blocks": 0.1007,
                "big_chances_created": 0.0187,
                "big_chances_missed": 0.1493,
                "xgot": 0.2895,
                "offsides": 0.1023,
                "ball_carries": 8.5332,
                "total_progression": 6.5916,
                "progressive_carries": 0.7573,
                "shots_off_target": 0.8465,
                "duel_xg_multiplier": 0.731,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.6,
                "aerial_won": 0.9,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.237,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jan Oblak",
                "opponent_faced": "Jan Oblak",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.19 (squad xG sum 0.9866, xG scale 1.2071, xA scale 1.4295, team xA 0.77 = 0.65 x lambda)",
              "stats": {
                "expected_goals": 0.2894,
                "goal_rate": 0.2653,
                "goals": 0,
                "shots_on_target": 0.6795,
                "total_shots": 1.526,
                "expected_assists": 0.0703,
                "key_pass": 0.6593,
                "rating": 6.7551,
                "minutes": 72.53,
                "total_pass": 14.6457,
                "accurate_pass": 11.8047,
                "duels_won": 2.7842,
                "total_long_balls": 0.8868,
                "accurate_long_balls": 0.595,
                "total_opp_half_passes": 9.3306,
                "accurate_opp_half_passes": 7.0211,
                "crosses_total": 1.6394,
                "crosses_accurate": 0.0411,
                "touches": 26.2502,
                "possession_lost": 7.2492,
                "dispossessed": 0.4608,
                "duels_lost": 4.2955,
                "aerial_lost": 1.8949,
                "total_contest": 0.9269,
                "won_contest": 0.3238,
                "ball_recovery": 1.9479,
                "challenges_lost": 0.6108,
                "fouls": 0.7955,
                "fouls_drawn": 0.7762,
                "assist_rate": 0.1267,
                "assists": 0,
                "interceptions": 0.239,
                "tackles_won": 0.5188,
                "tackles": 0.9305,
                "clearances": 0.9704,
                "blocks": 0.1007,
                "big_chances_created": 0.0187,
                "big_chances_missed": 0.1493,
                "xgot": 0.3495,
                "offsides": 0.1023,
                "ball_carries": 8.5332,
                "total_progression": 6.5916,
                "progressive_carries": 0.7573,
                "shots_off_target": 0.8465,
                "duel_xg_multiplier": 0.731,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.6,
                "aerial_won": 0.9,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.237,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jan Oblak",
                "opponent_faced": "Jan Oblak",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0884,
                "creation_factor": 1.25
              },
              "params": {
                "team_lambda": 1.191,
                "squad_xg_sum": 0.9866,
                "squad_xa_sum": 0.5416,
                "team_expected_assists": 0.7742,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.2071,
                "xa_scale": 1.4295,
                "opponent_lambda": 2.266,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.2397,
                  "after": 0.2894
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0492,
                  "after": 0.0703
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 9 by projected rating, fifa_overall 88.0)",
              "stats": {
                "expected_goals": 0.2894,
                "goal_rate": 0.2653,
                "goals": 0,
                "shots_on_target": 0.6795,
                "total_shots": 1.526,
                "expected_assists": 0.0703,
                "key_pass": 0.6593,
                "rating": 6.7551,
                "minutes": 72.53,
                "total_pass": 14.6457,
                "accurate_pass": 11.8047,
                "duels_won": 2.7842,
                "total_long_balls": 0.8868,
                "accurate_long_balls": 0.595,
                "total_opp_half_passes": 9.3306,
                "accurate_opp_half_passes": 7.0211,
                "crosses_total": 1.6394,
                "crosses_accurate": 0.0411,
                "touches": 26.2502,
                "possession_lost": 7.2492,
                "dispossessed": 0.4608,
                "duels_lost": 4.2955,
                "aerial_lost": 1.8949,
                "total_contest": 0.9269,
                "won_contest": 0.3238,
                "ball_recovery": 1.9479,
                "challenges_lost": 0.6108,
                "fouls": 0.7955,
                "fouls_drawn": 0.7762,
                "assist_rate": 0.1267,
                "assists": 0,
                "interceptions": 0.239,
                "tackles_won": 0.5188,
                "tackles": 0.9305,
                "clearances": 0.9704,
                "blocks": 0.1007,
                "big_chances_created": 0.0187,
                "big_chances_missed": 0.1493,
                "xgot": 0.3495,
                "offsides": 0.1023,
                "ball_carries": 8.5332,
                "total_progression": 6.5916,
                "progressive_carries": 0.7573,
                "shots_off_target": 0.8465,
                "duel_xg_multiplier": 0.731,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.6,
                "aerial_won": 0.9,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.237,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jan Oblak",
                "opponent_faced": "Jan Oblak",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0884,
                "creation_factor": 1.25,
                "fifa_overall": 88.0
              },
              "params": {
                "match_squad_rank": 9,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 229,
                "fifa_rank": 28.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 88.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.2894,
                "goal_rate": 0.2653,
                "goals": 1,
                "shots_on_target": 0.6795,
                "total_shots": 1.526,
                "expected_assists": 0.0703,
                "key_pass": 0.6593,
                "rating": 6.7551,
                "minutes": 72.53,
                "total_pass": 14.6457,
                "accurate_pass": 11.8047,
                "duels_won": 2.7842,
                "total_long_balls": 0.8868,
                "accurate_long_balls": 0.595,
                "total_opp_half_passes": 9.3306,
                "accurate_opp_half_passes": 7.0211,
                "crosses_total": 1.6394,
                "crosses_accurate": 0.0411,
                "touches": 26.2502,
                "possession_lost": 7.2492,
                "dispossessed": 0.4608,
                "duels_lost": 4.2955,
                "aerial_lost": 1.8949,
                "total_contest": 0.9269,
                "won_contest": 0.3238,
                "ball_recovery": 1.9479,
                "challenges_lost": 0.6108,
                "fouls": 0.7955,
                "fouls_drawn": 0.7762,
                "assist_rate": 0.1267,
                "assists": 0,
                "interceptions": 0.239,
                "tackles_won": 0.5188,
                "tackles": 0.9305,
                "clearances": 0.9704,
                "blocks": 0.1007,
                "big_chances_created": 0.0187,
                "big_chances_missed": 0.1493,
                "xgot": 0.3495,
                "offsides": 0.1023,
                "ball_carries": 8.5332,
                "total_progression": 6.5916,
                "progressive_carries": 0.7573,
                "shots_off_target": 0.8465,
                "duel_xg_multiplier": 0.731,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.6,
                "aerial_won": 0.9,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.237,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jan Oblak",
                "opponent_faced": "Jan Oblak",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.2513,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0884,
                "creation_factor": 1.25,
                "fifa_overall": 88.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 1,
                "goal_probability": 0.2513,
                "goal_rate": 0.2653,
                "scorer_weight": 0.315,
                "squad_weight_total": 1.3229,
                "weight_share": 0.2381,
                "finishing_factor": 1.0884,
                "appearance_weight": 1.0,
                "weight_rank": 1,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Roger Brugué",
                    "weight": 0.315,
                    "already": 0,
                    "effective_weight": 0.315,
                    "runner_up": "Iván Romero",
                    "runner_up_effective_weight": 0.2553
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.2894,
                "goal_rate": 0.2653,
                "goals": 1,
                "shots_on_target": 0.6795,
                "total_shots": 1.526,
                "expected_assists": 0.0703,
                "key_pass": 0.6593,
                "rating": 6.7551,
                "minutes": 72.53,
                "total_pass": 14.6457,
                "accurate_pass": 11.8047,
                "duels_won": 2.7842,
                "total_long_balls": 0.8868,
                "accurate_long_balls": 0.595,
                "total_opp_half_passes": 9.3306,
                "accurate_opp_half_passes": 7.0211,
                "crosses_total": 1.6394,
                "crosses_accurate": 0.0411,
                "touches": 26.2502,
                "possession_lost": 7.2492,
                "dispossessed": 0.4608,
                "duels_lost": 4.2955,
                "aerial_lost": 1.8949,
                "total_contest": 0.9269,
                "won_contest": 0.3238,
                "ball_recovery": 1.9479,
                "challenges_lost": 0.6108,
                "fouls": 0.7955,
                "fouls_drawn": 0.7762,
                "assist_rate": 0.1267,
                "assists": 0,
                "interceptions": 0.239,
                "tackles_won": 0.5188,
                "tackles": 0.9305,
                "clearances": 0.9704,
                "blocks": 0.1007,
                "big_chances_created": 0.0187,
                "big_chances_missed": 0.1493,
                "xgot": 0.3495,
                "offsides": 0.1023,
                "ball_carries": 8.5332,
                "total_progression": 6.5916,
                "progressive_carries": 0.7573,
                "shots_off_target": 0.8465,
                "duel_xg_multiplier": 0.731,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.6,
                "aerial_won": 0.9,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.237,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jan Oblak",
                "opponent_faced": "Jan Oblak",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.2513,
                "projected_assists": 0,
                "assist_probability": 0.0679,
                "finishing_factor": 1.0884,
                "creation_factor": 1.25,
                "fifa_overall": 88.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0679,
                "assist_rate": 0.1267,
                "provider_weight": 0.0879,
                "squad_weight_total": 0.7982,
                "weight_share": 0.1101,
                "creation_factor": 1.25,
                "appearance_weight": 1.0,
                "weight_rank": 3,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Thiago Fernández",
                    "weight": 0.1951,
                    "already": 0,
                    "effective_weight": 0.1951,
                    "runner_up": "Jon Ander Olasagasti",
                    "runner_up_effective_weight": 0.1554,
                    "blocked_own_goal": [
                      "Roger Brugué"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Iván Romero": {
          "player_id": 1014042,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 9,
          "height": 172,
          "market_value": 7400000,
          "stats": {
            "expected_goals": 0.2342,
            "goal_rate": 0.216,
            "goals": 0,
            "shots_on_target": 1,
            "total_shots": 2,
            "expected_assists": 0.079,
            "key_pass": 1,
            "rating": 6.7536,
            "minutes": 70,
            "total_pass": 17,
            "accurate_pass": 13,
            "duels_won": 5,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_opp_half_passes": 10,
            "accurate_opp_half_passes": 7,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 32,
            "possession_lost": 10.3732,
            "dispossessed": 1.5634,
            "duels_lost": 6,
            "aerial_lost": 1,
            "total_contest": 2,
            "won_contest": 1,
            "ball_recovery": 3,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 2,
            "assist_rate": 0.0034,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.2154,
            "offsides": 0,
            "ball_carries": 9,
            "total_progression": 16,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.682,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.3,
            "aerial_won": 1,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.18,
            "pressing_faced": "HIGH",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Dávid Hancko, Marc Pubill",
            "opponent_faced": "Dávid Hancko, Marc Pubill",
            "antagonist_source": "attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.2088,
            "projected_assists": 0,
            "assist_probability": 0.076,
            "finishing_factor": 1.0902,
            "creation_factor": 0.8,
            "fifa_overall": 75.0
          },
          "latest_10_games": [
            {
              "match_id": 16421086,
              "match_date": "2026-10-25",
              "home_team": "Real Sociedad",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 62,
                "rating": 6.8,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0459,
                "expected_assists": 0.0285,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 14,
                "accurate_pass": 10,
                "key_pass": 2,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 1,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 3,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 17122851,
              "match_date": "2026-10-21",
              "home_team": "Levante UD",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 72,
                "rating": 7.2,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0745,
                "expected_assists": 0.0133,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 21,
                "accurate_pass": 18,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 0,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 7,
                "ball_recovery": 3,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421070,
              "match_date": "2026-10-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 47,
                "rating": 6.7,
                "expected_assists": 0.0061,
                "total_shots": 0,
                "total_pass": 12,
                "accurate_pass": 8,
                "key_pass": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 90,
                "rating": 8.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1952,
                "expected_assists": 0.159,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 30,
                "accurate_pass": 23,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 2,
                "aerial_won": 1,
                "duels_won": 9,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416294,
              "match_date": "2026-09-20",
              "home_team": "Villarreal",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 63,
                "rating": 7.7,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.054,
                "expected_assists": 0.0018,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 13,
                "accurate_pass": 9,
                "tackles": 1,
                "clearances": 1,
                "aerial_won": 4,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416329,
              "match_date": "2026-09-13",
              "home_team": "Levante UD",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 31,
                "rating": 8.0,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 1.3677,
                "expected_assists": 0.0,
                "total_shots": 4,
                "shots_on_target": 3,
                "total_pass": 1,
                "accurate_pass": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416320,
              "match_date": "2026-09-06",
              "home_team": "Málaga CF",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 60,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1333,
                "expected_assists": 0.1303,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 12,
                "accurate_pass": 8,
                "key_pass": 2,
                "tackles": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416309,
              "match_date": "2026-08-29",
              "home_team": "Levante UD",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 72,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 1.0922,
                "expected_assists": 0.0085,
                "total_shots": 6,
                "shots_on_target": 2,
                "shots_off_target": 2,
                "total_pass": 12,
                "accurate_pass": 10,
                "duels_won": 2,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416296,
              "match_date": "2026-08-24",
              "home_team": "Osasuna",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 89,
                "rating": 6.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.4209,
                "expected_assists": 0.0291,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 16,
                "accurate_pass": 12,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421053,
              "match_date": "2026-08-16",
              "home_team": "Espanyol",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 64,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0291,
                "expected_assists": 0.003,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 12,
                "accurate_pass": 9,
                "tackles": 3,
                "tackles_won": 1,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3447,
            "combined_rank_score": 1440.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 469.0,
            "sofascore_rating": 6.8844,
            "sofascore_appearances": 32.0,
            "fifa_rank": 2411.0,
            "fifa_overall": 75.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7536,
            "source_file": "data/player_rankings.csv",
            "player_name": "Iván Romero",
            "ranking_neighbors": {
              "upper": [
                {
                  "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
                },
                {
                  "player_name": "Ben Davies",
                  "ranking": 3446
                }
              ],
              "lower": [
                {
                  "player_name": "Josh Acheampong",
                  "ranking": 3448
                },
                {
                  "player_name": "Ryan Yates",
                  "ranking": 3449
                },
                {
                  "player_name": "Scott McKenna",
                  "ranking": 3450
                },
                {
                  "player_name": "Cédric Kipré",
                  "ranking": 3451
                },
                {
                  "player_name": "Connor Roberts",
                  "ranking": 3452
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.775,
          "history_matches": 42,
          "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",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "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",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 42,
            "data_confidence": 0.775,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9996,
            "fbref_prior_metrics": {
              "squad": "Levante",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 223.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 3.63,
              "shots_on_target_pct": 22.2,
              "prior_reliability": 0.1667
            },
            "rationale": "XGBoost regressor (F_service) evaluated 42 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Levante, rel: 0.17, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.2845,
                "goals": 0.3205,
                "goal_rate": 0.3205,
                "shots_on_target": 0.755,
                "total_shots": 1.8887,
                "expected_assists": 0.0553,
                "key_pass": 0.7432,
                "rating": 6.7536,
                "minutes": 70.07,
                "total_pass": 16.8523,
                "accurate_pass": 12.6668,
                "duels_won": 5.1661,
                "total_long_balls": 1.0355,
                "accurate_long_balls": 0.8415,
                "total_opp_half_passes": 10.0381,
                "accurate_opp_half_passes": 7.066,
                "crosses_total": 0.269,
                "crosses_accurate": 0.021,
                "touches": 32.0147,
                "possession_lost": 10.3774,
                "dispossessed": 1.564,
                "duels_lost": 5.5353,
                "aerial_lost": 1.3559,
                "total_contest": 2.0077,
                "won_contest": 0.8209,
                "ball_recovery": 2.6595,
                "challenges_lost": 0.4777,
                "fouls": 1.2825,
                "fouls_drawn": 2.0358,
                "assists": 0.0034,
                "assist_rate": 0.0034,
                "interceptions": 0.4543,
                "tackles_won": 0.788,
                "tackles": 1.2882,
                "clearances": 0.3147,
                "blocks": 0.0035,
                "big_chances_created": 0.1134,
                "big_chances_missed": 0.2905,
                "xgot": 0.2617,
                "offsides": 0.0759,
                "ball_carries": 9.2548,
                "total_progression": 15.761,
                "progressive_carries": 1.1587,
                "shots_off_target": 1.1337
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Real Sociedad",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.1502,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-10-21",
                    "opponent": "Athletic Club",
                    "minutes": 72.0,
                    "is_starting": true,
                    "weight": 0.1276,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-10-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 47.0,
                    "is_starting": true,
                    "weight": 0.1085,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Sevilla",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 8.1
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Villarreal",
                    "minutes": 63.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 7.7
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "FC Barcelona",
                    "minutes": 31.0,
                    "is_starting": false,
                    "weight": 0.0666,
                    "rating": 8.0
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Málaga CF",
                    "minutes": 60.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Real Betis",
                    "minutes": 72.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Osasuna",
                    "minutes": 89.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-08-16",
                    "opponent": "Espanyol",
                    "minutes": 64.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "expectedGoals": 0.2556,
                  "accuratePass": 11.4597,
                  "totalOppositionHalfPasses": 8.982,
                  "accurateOppositionHalfPasses": 6.3077,
                  "totalShots": 1.7539
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.2845311760902405,
                    "model_output": 0.2845,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0678
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0352
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0202
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0184
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0117
                        }
                      ],
                      "others": -0.0009,
                      "total": 0.2845,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.297233
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.125333
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.070002
                        },
                        {
                          "name": "goals",
                          "margin": 0.064082
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.04002
                        }
                      ],
                      "others_margin": -0.003579
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.32048019766807556,
                    "model_output": 0.3205,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0737
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0408
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.022
                        },
                        {
                          "name": "goals",
                          "contribution": 0.019
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": 0.016
                        }
                      ],
                      "others": -0.0075,
                      "total": 0.3205,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.313181
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.138681
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.07257
                        },
                        {
                          "name": "goals",
                          "margin": 0.062687
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": 0.050175
                        }
                      ],
                      "others_margin": -0.023031
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.7549706697463989,
                    "model_output": 0.755,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1654
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0588
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0513
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0412
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0369
                        }
                      ],
                      "others": -0.0132,
                      "total": 0.755,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.270645
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.088108
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.077188
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.057965
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.049179
                        }
                      ],
                      "others_margin": -0.017173
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.8887133598327637,
                    "model_output": 1.8887,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.5064
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.1342
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.1094
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0563
                        },
                        {
                          "name": "wasFouled",
                          "contribution": -0.0493
                        }
                      ],
                      "others": -0.0297,
                      "total": 1.8887,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.506399
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.134217
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.109447
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.056306
                        },
                        {
                          "name": "wasFouled",
                          "margin": -0.04926
                        }
                      ],
                      "others_margin": -0.029652
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.05529143288731575,
                    "model_output": 0.0553,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0138
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0088
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0057
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.0034
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": -0.0024
                        }
                      ],
                      "others": -0.0093,
                      "total": 0.0553,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.194166
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.11915
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.085849
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.051859
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": -0.036918
                        }
                      ],
                      "others_margin": -0.155173
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.7431919574737549,
                    "model_output": 0.7432,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.2013
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0677
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0367
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0278
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0261
                        }
                      ],
                      "others": 0.0135,
                      "total": 0.7432,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.257074
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.079328
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.045821
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.036149
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.035211
                        }
                      ],
                      "others_margin": 0.018438
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.753616809844971,
                    "model_output": 6.7536,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0536
                        },
                        {
                          "name": "rating",
                          "contribution": 0.022
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": -0.0219
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.017
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0168
                        }
                      ],
                      "others": -0.0371,
                      "total": 6.7536,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.053646
                        },
                        {
                          "name": "rating",
                          "margin": 0.02204
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": -0.021899
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": -0.017042
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.016771
                        }
                      ],
                      "others_margin": -0.037203
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 42,
                  "role_matches": 37,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9996, quality 0.491)",
              "stats": {
                "expected_goals": 0.2844,
                "goals": 0.3204,
                "goal_rate": 0.3204,
                "shots_on_target": 0.7547,
                "total_shots": 1.888,
                "expected_assists": 0.0553,
                "key_pass": 0.7429,
                "rating": 6.7536,
                "minutes": 70.07,
                "total_pass": 16.8456,
                "accurate_pass": 12.6617,
                "duels_won": 5.164,
                "total_long_balls": 1.0351,
                "accurate_long_balls": 0.8412,
                "total_opp_half_passes": 10.0341,
                "accurate_opp_half_passes": 7.0632,
                "crosses_total": 0.2689,
                "crosses_accurate": 0.021,
                "touches": 32.0019,
                "possession_lost": 10.3732,
                "dispossessed": 1.5634,
                "duels_lost": 5.5331,
                "aerial_lost": 1.3554,
                "total_contest": 2.0069,
                "won_contest": 0.8206,
                "ball_recovery": 2.6584,
                "challenges_lost": 0.4775,
                "fouls": 1.282,
                "fouls_drawn": 2.035,
                "assists": 0.0034,
                "assist_rate": 0.0034,
                "interceptions": 0.4541,
                "tackles_won": 0.7877,
                "tackles": 1.2877,
                "clearances": 0.3146,
                "blocks": 0.0035,
                "big_chances_created": 0.1134,
                "big_chances_missed": 0.2904,
                "xgot": 0.2616,
                "offsides": 0.0759,
                "ball_carries": 9.2511,
                "total_progression": 15.7547,
                "progressive_carries": 1.1582,
                "shots_off_target": 1.1332
              },
              "params": {
                "market_value_eur": 7400000,
                "quality_factor": 0.4915,
                "boost_factor": 0.9996,
                "reference_quality": 0.505,
                "history_matches": 42,
                "history_shrink": 0.1064,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0115)",
              "stats": {
                "expected_goals": 0.2844,
                "goals": 0.3167,
                "goal_rate": 0.3167,
                "shots_on_target": 0.7533,
                "total_shots": 1.8988,
                "expected_assists": 0.0553,
                "key_pass": 0.7429,
                "rating": 6.7536,
                "minutes": 70.07,
                "total_pass": 16.8456,
                "accurate_pass": 12.6617,
                "duels_won": 5.164,
                "total_long_balls": 1.0351,
                "accurate_long_balls": 0.8412,
                "total_opp_half_passes": 10.0341,
                "accurate_opp_half_passes": 7.0632,
                "crosses_total": 0.2694,
                "crosses_accurate": 0.021,
                "touches": 32.0019,
                "possession_lost": 10.3732,
                "dispossessed": 1.5634,
                "duels_lost": 5.5331,
                "aerial_lost": 1.3554,
                "total_contest": 2.0069,
                "won_contest": 0.8206,
                "ball_recovery": 2.6584,
                "challenges_lost": 0.4775,
                "fouls": 1.278,
                "fouls_drawn": 2.0259,
                "assists": 0.0034,
                "assist_rate": 0.0034,
                "interceptions": 0.4489,
                "tackles_won": 0.7858,
                "tackles": 1.2877,
                "clearances": 0.3146,
                "blocks": 0.0035,
                "big_chances_created": 0.1134,
                "big_chances_missed": 0.2904,
                "xgot": 0.2616,
                "offsides": 0.0786,
                "ball_carries": 9.2511,
                "total_progression": 15.7547,
                "progressive_carries": 1.1582,
                "shots_off_target": 1.1332
              },
              "params": {
                "blend_weight": 0.0115,
                "history_matches": 42,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.7786,
                "prior_reliability": 0.1667,
                "competition": "La Liga",
                "squad": "Levante"
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 1.888,
                  "after": 1.8988
                },
                {
                  "stat": "wasFouled",
                  "before": 2.035,
                  "after": 2.0259
                },
                {
                  "stat": "interceptionWon",
                  "before": 0.4541,
                  "after": 0.4489
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.2844,
                "goals": 0.3167,
                "goal_rate": 0.3167,
                "shots_on_target": 0.7533,
                "total_shots": 1.8988,
                "expected_assists": 0.0553,
                "key_pass": 0.7429,
                "rating": 6.7536,
                "minutes": 70.07,
                "total_pass": 16.8456,
                "accurate_pass": 12.6617,
                "duels_won": 5.164,
                "total_long_balls": 1.0351,
                "accurate_long_balls": 0.8412,
                "total_opp_half_passes": 10.0341,
                "accurate_opp_half_passes": 7.0632,
                "crosses_total": 0.2694,
                "crosses_accurate": 0.021,
                "touches": 32.0019,
                "possession_lost": 10.3732,
                "dispossessed": 1.5634,
                "duels_lost": 5.5331,
                "aerial_lost": 1.3554,
                "total_contest": 2.0069,
                "won_contest": 0.8206,
                "ball_recovery": 2.6584,
                "challenges_lost": 0.4775,
                "fouls": 1.278,
                "fouls_drawn": 2.0259,
                "assists": 0.0034,
                "assist_rate": 0.0034,
                "interceptions": 0.4489,
                "tackles_won": 0.7858,
                "tackles": 1.2877,
                "clearances": 0.3146,
                "blocks": 0.0035,
                "big_chances_created": 0.1134,
                "big_chances_missed": 0.2904,
                "xgot": 0.2616,
                "offsides": 0.0786,
                "ball_carries": 9.2511,
                "total_progression": 15.7547,
                "progressive_carries": 1.1582,
                "shots_off_target": 1.1332
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.194,
                "goals": 0.216,
                "goal_rate": 0.216,
                "shots_on_target": 0.5138,
                "total_shots": 1.295,
                "expected_assists": 0.0553,
                "key_pass": 0.7429,
                "rating": 6.7536,
                "minutes": 70.07,
                "total_pass": 16.8456,
                "accurate_pass": 12.6617,
                "duels_won": 5.164,
                "total_long_balls": 1.0351,
                "accurate_long_balls": 0.8412,
                "total_opp_half_passes": 10.0341,
                "accurate_opp_half_passes": 7.0632,
                "crosses_total": 0.2694,
                "crosses_accurate": 0.021,
                "touches": 32.0019,
                "possession_lost": 10.3732,
                "dispossessed": 1.5634,
                "duels_lost": 5.5331,
                "aerial_lost": 1.3554,
                "total_contest": 2.0069,
                "won_contest": 0.8206,
                "ball_recovery": 2.6584,
                "challenges_lost": 0.4775,
                "fouls": 1.278,
                "fouls_drawn": 2.0259,
                "assists": 0.0034,
                "assist_rate": 0.0034,
                "interceptions": 0.4489,
                "tackles_won": 0.7858,
                "tackles": 1.2877,
                "clearances": 0.3146,
                "blocks": 0.0035,
                "big_chances_created": 0.1134,
                "big_chances_missed": 0.1981,
                "xgot": 0.1784,
                "offsides": 0.0786,
                "ball_carries": 9.2511,
                "total_progression": 15.7547,
                "progressive_carries": 1.1582,
                "shots_off_target": 0.7728,
                "duel_xg_multiplier": 0.682,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Dávid Hancko, Marc Pubill",
                "opponent_faced": "Dávid Hancko, Marc Pubill",
                "antagonist_source": "attacking_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Dávid Hancko, Marc Pubill",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                  "duel_win_rate": 0.18,
                  "pressing_faced": "HIGH",
                  "numerical_situation": "1v2",
                  "xg_multiplier": 0.682,
                  "skill_edge": -0.1563,
                  "height_edge": -0.06,
                  "attacker_skill": 0.4915,
                  "defender_skill": 0.8388,
                  "attacker_role": "ST",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Dávid Hancko",
                      "market_value": 36000000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.8168
                    },
                    {
                      "player": "Marc Pubill",
                      "market_value": 48000000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.8608
                    }
                  ],
                  "xg_override": 0.194
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 1.8988,
                  "after": 1.295
                },
                {
                  "stat": "shotOffTarget",
                  "before": 1.1332,
                  "after": 0.7728
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.7533,
                  "after": 0.5138
                },
                {
                  "stat": "goals",
                  "before": 0.3167,
                  "after": 0.216
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.2904,
                  "after": 0.1981
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.2844,
                  "after": 0.194
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.2616,
                  "after": 0.1784
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.194,
                "goal_rate": 0.216,
                "goals": 0,
                "shots_on_target": 0.5138,
                "total_shots": 1.295,
                "expected_assists": 0.0553,
                "key_pass": 0.7429,
                "rating": 6.7536,
                "minutes": 70.07,
                "total_pass": 16.8456,
                "accurate_pass": 12.6617,
                "duels_won": 5.164,
                "total_long_balls": 1.0351,
                "accurate_long_balls": 0.8412,
                "total_opp_half_passes": 10.0341,
                "accurate_opp_half_passes": 7.0632,
                "crosses_total": 0.2694,
                "crosses_accurate": 0.021,
                "touches": 32.0019,
                "possession_lost": 10.3732,
                "dispossessed": 1.5634,
                "duels_lost": 5.5331,
                "aerial_lost": 1.3554,
                "total_contest": 2.0069,
                "won_contest": 0.8206,
                "ball_recovery": 2.6584,
                "challenges_lost": 0.4775,
                "fouls": 1.278,
                "fouls_drawn": 2.0259,
                "assist_rate": 0.0034,
                "assists": 0,
                "interceptions": 0.4489,
                "tackles_won": 0.7858,
                "tackles": 1.2877,
                "clearances": 0.3146,
                "blocks": 0.0035,
                "big_chances_created": 0.1134,
                "big_chances_missed": 0.1981,
                "xgot": 0.1784,
                "offsides": 0.0786,
                "ball_carries": 9.2511,
                "total_progression": 15.7547,
                "progressive_carries": 1.1582,
                "shots_off_target": 0.7728,
                "duel_xg_multiplier": 0.682,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Dávid Hancko, Marc Pubill",
                "opponent_faced": "Dávid Hancko, Marc Pubill",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.19 (squad xG sum 0.9866, xG scale 1.2071, xA scale 1.4295, team xA 0.77 = 0.65 x lambda)",
              "stats": {
                "expected_goals": 0.2342,
                "goal_rate": 0.216,
                "goals": 0,
                "shots_on_target": 0.5138,
                "total_shots": 1.295,
                "expected_assists": 0.079,
                "key_pass": 0.7429,
                "rating": 6.7536,
                "minutes": 70.07,
                "total_pass": 16.8456,
                "accurate_pass": 12.6617,
                "duels_won": 5.164,
                "total_long_balls": 1.0351,
                "accurate_long_balls": 0.8412,
                "total_opp_half_passes": 10.0341,
                "accurate_opp_half_passes": 7.0632,
                "crosses_total": 0.2694,
                "crosses_accurate": 0.021,
                "touches": 32.0019,
                "possession_lost": 10.3732,
                "dispossessed": 1.5634,
                "duels_lost": 5.5331,
                "aerial_lost": 1.3554,
                "total_contest": 2.0069,
                "won_contest": 0.8206,
                "ball_recovery": 2.6584,
                "challenges_lost": 0.4775,
                "fouls": 1.278,
                "fouls_drawn": 2.0259,
                "assist_rate": 0.0034,
                "assists": 0,
                "interceptions": 0.4489,
                "tackles_won": 0.7858,
                "tackles": 1.2877,
                "clearances": 0.3146,
                "blocks": 0.0035,
                "big_chances_created": 0.1134,
                "big_chances_missed": 0.1981,
                "xgot": 0.2154,
                "offsides": 0.0786,
                "ball_carries": 9.2511,
                "total_progression": 15.7547,
                "progressive_carries": 1.1582,
                "shots_off_target": 0.7728,
                "duel_xg_multiplier": 0.682,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Dávid Hancko, Marc Pubill",
                "opponent_faced": "Dávid Hancko, Marc Pubill",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0902,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.191,
                "squad_xg_sum": 0.9866,
                "squad_xa_sum": 0.5416,
                "team_expected_assists": 0.7742,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.2071,
                "xa_scale": 1.4295,
                "opponent_lambda": 2.266,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.194,
                  "after": 0.2342
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0553,
                  "after": 0.079
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 11 by projected rating, fifa_overall 75.0)",
              "stats": {
                "expected_goals": 0.2342,
                "goal_rate": 0.216,
                "goals": 0,
                "shots_on_target": 0.5138,
                "total_shots": 1.295,
                "expected_assists": 0.079,
                "key_pass": 0.7429,
                "rating": 6.7536,
                "minutes": 70.07,
                "total_pass": 16.8456,
                "accurate_pass": 12.6617,
                "duels_won": 5.164,
                "total_long_balls": 1.0351,
                "accurate_long_balls": 0.8412,
                "total_opp_half_passes": 10.0341,
                "accurate_opp_half_passes": 7.0632,
                "crosses_total": 0.2694,
                "crosses_accurate": 0.021,
                "touches": 32.0019,
                "possession_lost": 10.3732,
                "dispossessed": 1.5634,
                "duels_lost": 5.5331,
                "aerial_lost": 1.3554,
                "total_contest": 2.0069,
                "won_contest": 0.8206,
                "ball_recovery": 2.6584,
                "challenges_lost": 0.4775,
                "fouls": 1.278,
                "fouls_drawn": 2.0259,
                "assist_rate": 0.0034,
                "assists": 0,
                "interceptions": 0.4489,
                "tackles_won": 0.7858,
                "tackles": 1.2877,
                "clearances": 0.3146,
                "blocks": 0.0035,
                "big_chances_created": 0.1134,
                "big_chances_missed": 0.1981,
                "xgot": 0.2154,
                "offsides": 0.0786,
                "ball_carries": 9.2511,
                "total_progression": 15.7547,
                "progressive_carries": 1.1582,
                "shots_off_target": 0.7728,
                "duel_xg_multiplier": 0.682,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Dávid Hancko, Marc Pubill",
                "opponent_faced": "Dávid Hancko, Marc Pubill",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0902,
                "creation_factor": 0.8,
                "fifa_overall": 75.0
              },
              "params": {
                "match_squad_rank": 11,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3447,
                "fifa_rank": 2411.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 75.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.2342,
                "goal_rate": 0.216,
                "goals": 0,
                "shots_on_target": 0.5138,
                "total_shots": 1.295,
                "expected_assists": 0.079,
                "key_pass": 0.7429,
                "rating": 6.7536,
                "minutes": 70.07,
                "total_pass": 16.8456,
                "accurate_pass": 12.6617,
                "duels_won": 5.164,
                "total_long_balls": 1.0351,
                "accurate_long_balls": 0.8412,
                "total_opp_half_passes": 10.0341,
                "accurate_opp_half_passes": 7.0632,
                "crosses_total": 0.2694,
                "crosses_accurate": 0.021,
                "touches": 32.0019,
                "possession_lost": 10.3732,
                "dispossessed": 1.5634,
                "duels_lost": 5.5331,
                "aerial_lost": 1.3554,
                "total_contest": 2.0069,
                "won_contest": 0.8206,
                "ball_recovery": 2.6584,
                "challenges_lost": 0.4775,
                "fouls": 1.278,
                "fouls_drawn": 2.0259,
                "assist_rate": 0.0034,
                "assists": 0,
                "interceptions": 0.4489,
                "tackles_won": 0.7858,
                "tackles": 1.2877,
                "clearances": 0.3146,
                "blocks": 0.0035,
                "big_chances_created": 0.1134,
                "big_chances_missed": 0.1981,
                "xgot": 0.2154,
                "offsides": 0.0786,
                "ball_carries": 9.2511,
                "total_progression": 15.7547,
                "progressive_carries": 1.1582,
                "shots_off_target": 0.7728,
                "duel_xg_multiplier": 0.682,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Dávid Hancko, Marc Pubill",
                "opponent_faced": "Dávid Hancko, Marc Pubill",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.2088,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0902,
                "creation_factor": 0.8,
                "fifa_overall": 75.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.2088,
                "goal_rate": 0.216,
                "scorer_weight": 0.2553,
                "squad_weight_total": 1.3229,
                "weight_share": 0.193,
                "finishing_factor": 1.0902,
                "appearance_weight": 1.0,
                "weight_rank": 2,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Roger Brugué",
                    "weight": 0.315,
                    "already": 0,
                    "effective_weight": 0.315,
                    "runner_up": "Iván Romero",
                    "runner_up_effective_weight": 0.2553
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.2342,
                "goal_rate": 0.216,
                "goals": 0,
                "shots_on_target": 0.5138,
                "total_shots": 1.295,
                "expected_assists": 0.079,
                "key_pass": 0.7429,
                "rating": 6.7536,
                "minutes": 70.07,
                "total_pass": 16.8456,
                "accurate_pass": 12.6617,
                "duels_won": 5.164,
                "total_long_balls": 1.0351,
                "accurate_long_balls": 0.8412,
                "total_opp_half_passes": 10.0341,
                "accurate_opp_half_passes": 7.0632,
                "crosses_total": 0.2694,
                "crosses_accurate": 0.021,
                "touches": 32.0019,
                "possession_lost": 10.3732,
                "dispossessed": 1.5634,
                "duels_lost": 5.5331,
                "aerial_lost": 1.3554,
                "total_contest": 2.0069,
                "won_contest": 0.8206,
                "ball_recovery": 2.6584,
                "challenges_lost": 0.4775,
                "fouls": 1.278,
                "fouls_drawn": 2.0259,
                "assist_rate": 0.0034,
                "assists": 0,
                "interceptions": 0.4489,
                "tackles_won": 0.7858,
                "tackles": 1.2877,
                "clearances": 0.3146,
                "blocks": 0.0035,
                "big_chances_created": 0.1134,
                "big_chances_missed": 0.1981,
                "xgot": 0.2154,
                "offsides": 0.0786,
                "ball_carries": 9.2511,
                "total_progression": 15.7547,
                "progressive_carries": 1.1582,
                "shots_off_target": 0.7728,
                "duel_xg_multiplier": 0.682,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.3,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Dávid Hancko, Marc Pubill",
                "opponent_faced": "Dávid Hancko, Marc Pubill",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.2088,
                "projected_assists": 0,
                "assist_probability": 0.076,
                "finishing_factor": 1.0902,
                "creation_factor": 0.8,
                "fifa_overall": 75.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.076,
                "assist_rate": 0.0034,
                "provider_weight": 0.0632,
                "squad_weight_total": 0.7982,
                "weight_share": 0.0792,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 4,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Thiago Fernández",
                    "weight": 0.1951,
                    "already": 0,
                    "effective_weight": 0.1951,
                    "runner_up": "Jon Ander Olasagasti",
                    "runner_up_effective_weight": 0.1554,
                    "blocked_own_goal": [
                      "Roger Brugué"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Thiago Fernández": {
          "player_id": 1201412,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 24,
          "height": 175,
          "market_value": 4700000,
          "stats": {
            "expected_goals": 0.1155,
            "goal_rate": 0.1325,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.1561,
            "key_pass": 1,
            "rating": 6.8828,
            "minutes": 72,
            "total_pass": 19,
            "accurate_pass": 14,
            "duels_won": 4,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_opp_half_passes": 13,
            "accurate_opp_half_passes": 10,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 33,
            "possession_lost": 10.4296,
            "dispossessed": 1.5701,
            "duels_lost": 4,
            "aerial_lost": 0,
            "total_contest": 3,
            "won_contest": 2,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 1,
            "assist_rate": 0.2455,
            "assists": 1,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.043,
            "offsides": 0,
            "ball_carries": 14,
            "total_progression": 67,
            "progressive_carries": 3,
            "shots_off_target": 1,
            "duel_xg_multiplier": 0.7757,
            "dribbles_attempted": 3,
            "dribbles_successful": 0.9,
            "aerial_won": 1,
            "crosses_attempted": 1.9,
            "duel_win_rate": 0.327,
            "pressing_faced": "MEDIUM",
            "matchup_zone": "Right Wing vs Left Back — Flank Battle",
            "numerical_situation": "1v1",
            "opponent_defenders": "Marcos Llorente",
            "opponent_faced": "Marcos Llorente",
            "antagonist_source": "attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.1091,
            "projected_assists": 1,
            "assist_probability": 0.1445,
            "finishing_factor": 1.25,
            "creation_factor": 1.25,
            "fifa_overall": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 16421086,
              "match_date": "2026-10-25",
              "home_team": "Real Sociedad",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 80,
                "rating": 7.2,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.096,
                "expected_assists": 0.1448,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 21,
                "accurate_pass": 17,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 17122851,
              "match_date": "2026-10-21",
              "home_team": "Levante UD",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 85,
                "rating": 7.5,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0985,
                "expected_assists": 0.1282,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 26,
                "accurate_pass": 17,
                "key_pass": 2,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 8,
                "ball_recovery": 7,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421070,
              "match_date": "2026-10-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 47,
                "rating": 6.7,
                "expected_goals": 0.0157,
                "expected_assists": 0.0211,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 7,
                "accurate_pass": 4,
                "tackles": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 34,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1426,
                "expected_assists": 0.2466,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 16,
                "accurate_pass": 12,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416294,
              "match_date": "2026-09-20",
              "home_team": "Villarreal",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 63,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1433,
                "expected_assists": 0.0007,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 12,
                "accurate_pass": 10,
                "clearances": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416320,
              "match_date": "2026-09-06",
              "home_team": "Málaga CF",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 77,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2418,
                "expected_assists": 0.0224,
                "total_shots": 3,
                "shots_on_target": 1,
                "total_pass": 16,
                "accurate_pass": 12,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416309,
              "match_date": "2026-08-29",
              "home_team": "Levante UD",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 72,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0412,
                "expected_assists": 0.2341,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 21,
                "accurate_pass": 19,
                "key_pass": 1,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416296,
              "match_date": "2026-08-24",
              "home_team": "Osasuna",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 78,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0479,
                "expected_assists": 0.0083,
                "total_shots": 1,
                "total_pass": 15,
                "accurate_pass": 11,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083692,
              "match_date": "2026-05-17",
              "home_team": "Real Oviedo",
              "away_team": "Deportivo Alavés",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Real Oviedo",
              "opponent": "Deportivo Alavés",
              "stats": {
                "minutes": 45,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0117,
                "expected_assists": 0.0257,
                "total_shots": 1,
                "total_pass": 18,
                "accurate_pass": 15,
                "tackles": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083649,
              "match_date": "2026-05-14",
              "home_team": "Real Madrid",
              "away_team": "Real Oviedo",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Real Oviedo",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 69,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0369,
                "total_shots": 0,
                "total_pass": 17,
                "accurate_pass": 13,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 3756,
            "combined_rank_score": 1748.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 578.0,
            "sofascore_rating": 6.8,
            "sofascore_appearances": 2.0,
            "fifa_rank": 2919.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8828,
            "source_file": "data/player_rankings.csv",
            "player_name": "Thiago Fernández",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Ezequiel Piovi",
                  "ranking": 3751
                },
                {
                  "player_name": "Patrick Pflücke",
                  "ranking": 3752
                },
                {
                  "player_name": "Junya Ito",
                  "ranking": 3753
                },
                {
                  "player_name": "Mario Martín",
                  "ranking": 3754
                },
                {
                  "player_name": "Doğucan Haspolat",
                  "ranking": 3755
                }
              ],
              "lower": [
                {
                  "player_name": "Jarne Steuckers",
                  "ranking": 3757
                },
                {
                  "player_name": "Rodrigo Gomes",
                  "ranking": 3758
                },
                {
                  "player_name": "Myrto Uzuni",
                  "ranking": 3759
                },
                {
                  "player_name": "Joel Ordoñez",
                  "ranking": 3760
                },
                {
                  "player_name": "Benjamin Lecomte",
                  "ranking": 3761
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.766,
          "history_matches": 24,
          "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",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "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",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 24,
            "data_confidence": 0.766,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9976,
            "fbref_prior_metrics": {
              "squad": "Levante",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 148.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 1.22,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.1067
            },
            "rationale": "XGBoost regressor (F_service) evaluated 24 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Levante, rel: 0.11, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.1237,
                "goals": 0.1733,
                "goal_rate": 0.1733,
                "shots_on_target": 0.4366,
                "total_shots": 1.5138,
                "expected_assists": 0.1095,
                "key_pass": 1.1592,
                "rating": 6.8828,
                "minutes": 71.67,
                "total_pass": 18.5584,
                "accurate_pass": 14.1169,
                "duels_won": 4.1339,
                "total_long_balls": 1.4868,
                "accurate_long_balls": 0.6451,
                "total_opp_half_passes": 13.4173,
                "accurate_opp_half_passes": 9.7001,
                "crosses_total": 2.0939,
                "crosses_accurate": 0.4607,
                "touches": 32.7264,
                "possession_lost": 10.4547,
                "dispossessed": 1.5739,
                "duels_lost": 4.4865,
                "aerial_lost": 0.4007,
                "total_contest": 3.3979,
                "won_contest": 2.2023,
                "ball_recovery": 3.0064,
                "challenges_lost": 1.1358,
                "fouls": 0.4036,
                "fouls_drawn": 0.5105,
                "assists": 0.2491,
                "assist_rate": 0.2491,
                "interceptions": 0.3037,
                "tackles_won": 0.9086,
                "tackles": 1.2149,
                "clearances": 0.2531,
                "blocks": 0.0,
                "big_chances_created": 0.2491,
                "big_chances_missed": 0.0958,
                "xgot": 0.046,
                "offsides": 0.1157,
                "ball_carries": 13.8597,
                "total_progression": 67.4344,
                "progressive_carries": 2.5997,
                "shots_off_target": 1.0772
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Real Sociedad",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.1531,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-10-21",
                    "opponent": "Athletic Club",
                    "minutes": 85.0,
                    "is_starting": true,
                    "weight": 0.1301,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-10-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 47.0,
                    "is_starting": true,
                    "weight": 0.1106,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Sevilla",
                    "minutes": 34.0,
                    "is_starting": false,
                    "weight": 0.094,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Villarreal",
                    "minutes": 63.0,
                    "is_starting": true,
                    "weight": 0.0799,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Málaga CF",
                    "minutes": 77.0,
                    "is_starting": true,
                    "weight": 0.0679,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Real Betis",
                    "minutes": 72.0,
                    "is_starting": true,
                    "weight": 0.0577,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Osasuna",
                    "minutes": 78.0,
                    "is_starting": true,
                    "weight": 0.0491,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Deportivo Alavés",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.0417,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-05-14",
                    "opponent": "Real Madrid",
                    "minutes": 69.0,
                    "is_starting": true,
                    "weight": 0.0355,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "expectedGoals": 0.0822,
                  "accuratePass": 13.5247,
                  "totalOppositionHalfPasses": 13.1029,
                  "accurateOppositionHalfPasses": 9.4969,
                  "totalShots": 1.1821
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.12373628467321396,
                    "model_output": 0.1237,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0572
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.048
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0209
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0125
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0101
                        }
                      ],
                      "others": -0.0379,
                      "total": 0.1237,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.256314
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.21037
                        },
                        {
                          "name": "goals",
                          "margin": -0.107244
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.070348
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.060568
                        }
                      ],
                      "others_margin": -0.267428
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.17331945896148682,
                    "model_output": 0.1733,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.073
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0302
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0256
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0152
                        },
                        {
                          "name": "wasFouled",
                          "contribution": 0.0126
                        }
                      ],
                      "others": -0.0418,
                      "total": 0.1733,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.310369
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.117152
                        },
                        {
                          "name": "goals",
                          "margin": -0.111136
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": -0.072209
                        },
                        {
                          "name": "wasFouled",
                          "margin": 0.060548
                        }
                      ],
                      "others_margin": -0.215981
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.4365999102592468,
                    "model_output": 0.4366,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1638
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.076
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.058
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0413
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0316
                        }
                      ],
                      "others": -0.0525,
                      "total": 0.4366,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.268366
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.115576
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.098246
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.076286
                        },
                        {
                          "name": "goals",
                          "margin": -0.062532
                        }
                      ],
                      "others_margin": -0.113693
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.5137699842453003,
                    "model_output": 1.5138,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4017
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1444
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.0916
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0704
                        },
                        {
                          "name": "goals",
                          "contribution": -0.063
                        }
                      ],
                      "others": -0.0819,
                      "total": 1.5138,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.401656
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.144355
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.091637
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.070366
                        },
                        {
                          "name": "goals",
                          "margin": -0.063018
                        }
                      ],
                      "others_margin": -0.081935
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.10949695855379105,
                    "model_output": 0.1095,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0115
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0074
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.008
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0047
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0032
                        }
                      ],
                      "others": 0.0198,
                      "total": 0.1095,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.164758
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.093326
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.092184
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.053417
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.036354
                        }
                      ],
                      "others_margin": 0.199008
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 1.159166932106018,
                    "model_output": 1.1592,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1957
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0754
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0501
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0286
                        },
                        {
                          "name": "totalProgression",
                          "contribution": 0.0285
                        }
                      ],
                      "others": 0.1514,
                      "total": 1.1592,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.250741
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.082029
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.050937
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.028749
                        },
                        {
                          "name": "totalProgression",
                          "margin": 0.028664
                        }
                      ],
                      "others_margin": 0.139883
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.882795333862305,
                    "model_output": 6.8828,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0513
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0351
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.0201
                        },
                        {
                          "name": "bigChanceMissed",
                          "contribution": -0.0182
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.017
                        }
                      ],
                      "others": 0.0067,
                      "total": 6.8828,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.05125
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.035068
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.020144
                        },
                        {
                          "name": "bigChanceMissed",
                          "margin": -0.018183
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.017016
                        }
                      ],
                      "others_margin": 0.006655
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 24,
                  "role_matches": 16,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9976, quality 0.458)",
              "stats": {
                "expected_goals": 0.1234,
                "goals": 0.1729,
                "goal_rate": 0.1729,
                "shots_on_target": 0.4356,
                "total_shots": 1.5102,
                "expected_assists": 0.1092,
                "key_pass": 1.1564,
                "rating": 6.8828,
                "minutes": 71.67,
                "total_pass": 18.5139,
                "accurate_pass": 14.083,
                "duels_won": 4.124,
                "total_long_balls": 1.4832,
                "accurate_long_balls": 0.6436,
                "total_opp_half_passes": 13.3851,
                "accurate_opp_half_passes": 9.6768,
                "crosses_total": 2.0889,
                "crosses_accurate": 0.4596,
                "touches": 32.6479,
                "possession_lost": 10.4296,
                "dispossessed": 1.5701,
                "duels_lost": 4.4757,
                "aerial_lost": 0.3997,
                "total_contest": 3.3897,
                "won_contest": 2.197,
                "ball_recovery": 2.9992,
                "challenges_lost": 1.1331,
                "fouls": 0.4026,
                "fouls_drawn": 0.5093,
                "assists": 0.2485,
                "assist_rate": 0.2485,
                "interceptions": 0.303,
                "tackles_won": 0.9064,
                "tackles": 1.212,
                "clearances": 0.2525,
                "blocks": 0.0,
                "big_chances_created": 0.2485,
                "big_chances_missed": 0.0956,
                "xgot": 0.0459,
                "offsides": 0.1154,
                "ball_carries": 13.8264,
                "total_progression": 67.2726,
                "progressive_carries": 2.5935,
                "shots_off_target": 1.0746
              },
              "params": {
                "market_value_eur": 4700000,
                "quality_factor": 0.4585,
                "boost_factor": 0.9976,
                "reference_quality": 0.505,
                "history_matches": 24,
                "history_shrink": 0.1724,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0120)",
              "stats": {
                "expected_goals": 0.1234,
                "goals": 0.1708,
                "goal_rate": 0.1708,
                "shots_on_target": 0.4304,
                "total_shots": 1.5038,
                "expected_assists": 0.1092,
                "key_pass": 1.1564,
                "rating": 6.8828,
                "minutes": 71.67,
                "total_pass": 18.5139,
                "accurate_pass": 14.083,
                "duels_won": 4.124,
                "total_long_balls": 1.4832,
                "accurate_long_balls": 0.6436,
                "total_opp_half_passes": 13.3851,
                "accurate_opp_half_passes": 9.6768,
                "crosses_total": 2.0877,
                "crosses_accurate": 0.4596,
                "touches": 32.6479,
                "possession_lost": 10.4296,
                "dispossessed": 1.5701,
                "duels_lost": 4.4757,
                "aerial_lost": 0.3997,
                "total_contest": 3.3897,
                "won_contest": 2.197,
                "ball_recovery": 2.9992,
                "challenges_lost": 1.1331,
                "fouls": 0.4037,
                "fouls_drawn": 0.5032,
                "assists": 0.2455,
                "assist_rate": 0.2455,
                "interceptions": 0.3113,
                "tackles_won": 0.9075,
                "tackles": 1.212,
                "clearances": 0.2525,
                "blocks": 0.0,
                "big_chances_created": 0.2485,
                "big_chances_missed": 0.0956,
                "xgot": 0.0459,
                "offsides": 0.12,
                "ball_carries": 13.8264,
                "total_progression": 67.2726,
                "progressive_carries": 2.5935,
                "shots_off_target": 1.0746
              },
              "params": {
                "blend_weight": 0.012,
                "history_matches": 24,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.7963,
                "prior_reliability": 0.1067,
                "competition": "La Liga",
                "squad": "Levante"
              },
              "changes": [
                {
                  "stat": "interceptionWon",
                  "before": 0.303,
                  "after": 0.3113
                },
                {
                  "stat": "totalShots",
                  "before": 1.5102,
                  "after": 1.5038
                },
                {
                  "stat": "wasFouled",
                  "before": 0.5093,
                  "after": 0.5032
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.4356,
                  "after": 0.4304
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1234,
                "goals": 0.1708,
                "goal_rate": 0.1708,
                "shots_on_target": 0.4304,
                "total_shots": 1.505,
                "expected_assists": 0.1092,
                "key_pass": 1.1564,
                "rating": 6.8828,
                "minutes": 71.67,
                "total_pass": 18.5139,
                "accurate_pass": 14.083,
                "duels_won": 4.124,
                "total_long_balls": 1.4832,
                "accurate_long_balls": 0.6436,
                "total_opp_half_passes": 13.3851,
                "accurate_opp_half_passes": 9.6768,
                "crosses_total": 2.0877,
                "crosses_accurate": 0.4596,
                "touches": 32.6479,
                "possession_lost": 10.4296,
                "dispossessed": 1.5701,
                "duels_lost": 4.4757,
                "aerial_lost": 0.3997,
                "total_contest": 3.3897,
                "won_contest": 2.197,
                "ball_recovery": 2.9992,
                "challenges_lost": 1.1331,
                "fouls": 0.4037,
                "fouls_drawn": 0.5032,
                "assists": 0.2455,
                "assist_rate": 0.2455,
                "interceptions": 0.3113,
                "tackles_won": 0.9075,
                "tackles": 1.212,
                "clearances": 0.2525,
                "blocks": 0.0,
                "big_chances_created": 0.2485,
                "big_chances_missed": 0.0956,
                "xgot": 0.0459,
                "offsides": 0.12,
                "ball_carries": 13.8264,
                "total_progression": 67.2726,
                "progressive_carries": 2.5935,
                "shots_off_target": 1.0746
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.0957,
                "goals": 0.1325,
                "goal_rate": 0.1325,
                "shots_on_target": 0.3339,
                "total_shots": 1.1675,
                "expected_assists": 0.1092,
                "key_pass": 1.1564,
                "rating": 6.8828,
                "minutes": 71.67,
                "total_pass": 18.5139,
                "accurate_pass": 14.083,
                "duels_won": 4.124,
                "total_long_balls": 1.4832,
                "accurate_long_balls": 0.6436,
                "total_opp_half_passes": 13.3851,
                "accurate_opp_half_passes": 9.6768,
                "crosses_total": 2.0877,
                "crosses_accurate": 0.4596,
                "touches": 32.6479,
                "possession_lost": 10.4296,
                "dispossessed": 1.5701,
                "duels_lost": 4.4757,
                "aerial_lost": 0.3997,
                "total_contest": 3.3897,
                "won_contest": 2.197,
                "ball_recovery": 2.9992,
                "challenges_lost": 1.1331,
                "fouls": 0.4037,
                "fouls_drawn": 0.5032,
                "assists": 0.2455,
                "assist_rate": 0.2455,
                "interceptions": 0.3113,
                "tackles_won": 0.9075,
                "tackles": 1.212,
                "clearances": 0.2525,
                "blocks": 0.0,
                "big_chances_created": 0.2485,
                "big_chances_missed": 0.0742,
                "xgot": 0.0356,
                "offsides": 0.12,
                "ball_carries": 13.8264,
                "total_progression": 67.2726,
                "progressive_carries": 2.5935,
                "shots_off_target": 0.8336,
                "duel_xg_multiplier": 0.7757,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.9,
                "aerial_won": 0.9,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.327,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Marcos Llorente",
                "opponent_faced": "Marcos Llorente",
                "antagonist_source": "attacking_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Marcos Llorente",
                  "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                  "duel_win_rate": 0.327,
                  "pressing_faced": "MEDIUM",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 0.7757,
                  "skill_edge": -0.1166,
                  "height_edge": -0.036,
                  "attacker_skill": 0.4585,
                  "defender_skill": 0.7176,
                  "attacker_role": "RW",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Marcos Llorente",
                      "market_value": 21000000,
                      "role": "LB",
                      "price_index": 0.7,
                      "adjusted_quality": 0.7176
                    }
                  ],
                  "xg_override": 0.0957
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 1.505,
                  "after": 1.1675
                },
                {
                  "stat": "shotOffTarget",
                  "before": 1.0746,
                  "after": 0.8336
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.4304,
                  "after": 0.3339
                },
                {
                  "stat": "goals",
                  "before": 0.1708,
                  "after": 0.1325
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.1234,
                  "after": 0.0957
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.0956,
                  "after": 0.0742
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.0459,
                  "after": 0.0356
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.0957,
                "goal_rate": 0.1325,
                "goals": 0,
                "shots_on_target": 0.3339,
                "total_shots": 1.1675,
                "expected_assists": 0.1092,
                "key_pass": 1.1564,
                "rating": 6.8828,
                "minutes": 71.67,
                "total_pass": 18.5139,
                "accurate_pass": 14.083,
                "duels_won": 4.124,
                "total_long_balls": 1.4832,
                "accurate_long_balls": 0.6436,
                "total_opp_half_passes": 13.3851,
                "accurate_opp_half_passes": 9.6768,
                "crosses_total": 2.0877,
                "crosses_accurate": 0.4596,
                "touches": 32.6479,
                "possession_lost": 10.4296,
                "dispossessed": 1.5701,
                "duels_lost": 4.4757,
                "aerial_lost": 0.3997,
                "total_contest": 3.3897,
                "won_contest": 2.197,
                "ball_recovery": 2.9992,
                "challenges_lost": 1.1331,
                "fouls": 0.4037,
                "fouls_drawn": 0.5032,
                "assist_rate": 0.2455,
                "assists": 0,
                "interceptions": 0.3113,
                "tackles_won": 0.9075,
                "tackles": 1.212,
                "clearances": 0.2525,
                "blocks": 0.0,
                "big_chances_created": 0.2485,
                "big_chances_missed": 0.0742,
                "xgot": 0.0356,
                "offsides": 0.12,
                "ball_carries": 13.8264,
                "total_progression": 67.2726,
                "progressive_carries": 2.5935,
                "shots_off_target": 0.8336,
                "duel_xg_multiplier": 0.7757,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.9,
                "aerial_won": 0.9,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.327,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Marcos Llorente",
                "opponent_faced": "Marcos Llorente",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.19 (squad xG sum 0.9866, xG scale 1.2071, xA scale 1.4295, team xA 0.77 = 0.65 x lambda)",
              "stats": {
                "expected_goals": 0.1155,
                "goal_rate": 0.1325,
                "goals": 0,
                "shots_on_target": 0.3339,
                "total_shots": 1.1675,
                "expected_assists": 0.1561,
                "key_pass": 1.1564,
                "rating": 6.8828,
                "minutes": 71.67,
                "total_pass": 18.5139,
                "accurate_pass": 14.083,
                "duels_won": 4.124,
                "total_long_balls": 1.4832,
                "accurate_long_balls": 0.6436,
                "total_opp_half_passes": 13.3851,
                "accurate_opp_half_passes": 9.6768,
                "crosses_total": 2.0877,
                "crosses_accurate": 0.4596,
                "touches": 32.6479,
                "possession_lost": 10.4296,
                "dispossessed": 1.5701,
                "duels_lost": 4.4757,
                "aerial_lost": 0.3997,
                "total_contest": 3.3897,
                "won_contest": 2.197,
                "ball_recovery": 2.9992,
                "challenges_lost": 1.1331,
                "fouls": 0.4037,
                "fouls_drawn": 0.5032,
                "assist_rate": 0.2455,
                "assists": 0,
                "interceptions": 0.3113,
                "tackles_won": 0.9075,
                "tackles": 1.212,
                "clearances": 0.2525,
                "blocks": 0.0,
                "big_chances_created": 0.2485,
                "big_chances_missed": 0.0742,
                "xgot": 0.043,
                "offsides": 0.12,
                "ball_carries": 13.8264,
                "total_progression": 67.2726,
                "progressive_carries": 2.5935,
                "shots_off_target": 0.8336,
                "duel_xg_multiplier": 0.7757,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.9,
                "aerial_won": 0.9,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.327,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Marcos Llorente",
                "opponent_faced": "Marcos Llorente",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.25,
                "creation_factor": 1.25
              },
              "params": {
                "team_lambda": 1.191,
                "squad_xg_sum": 0.9866,
                "squad_xa_sum": 0.5416,
                "team_expected_assists": 0.7742,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.2071,
                "xa_scale": 1.4295,
                "opponent_lambda": 2.266,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0957,
                  "after": 0.1155
                },
                {
                  "stat": "expected_assists",
                  "before": 0.1092,
                  "after": 0.1561
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 3 by projected rating, fifa_overall 74.0)",
              "stats": {
                "expected_goals": 0.1155,
                "goal_rate": 0.1325,
                "goals": 0,
                "shots_on_target": 0.3339,
                "total_shots": 1.1675,
                "expected_assists": 0.1561,
                "key_pass": 1.1564,
                "rating": 6.8828,
                "minutes": 71.67,
                "total_pass": 18.5139,
                "accurate_pass": 14.083,
                "duels_won": 4.124,
                "total_long_balls": 1.4832,
                "accurate_long_balls": 0.6436,
                "total_opp_half_passes": 13.3851,
                "accurate_opp_half_passes": 9.6768,
                "crosses_total": 2.0877,
                "crosses_accurate": 0.4596,
                "touches": 32.6479,
                "possession_lost": 10.4296,
                "dispossessed": 1.5701,
                "duels_lost": 4.4757,
                "aerial_lost": 0.3997,
                "total_contest": 3.3897,
                "won_contest": 2.197,
                "ball_recovery": 2.9992,
                "challenges_lost": 1.1331,
                "fouls": 0.4037,
                "fouls_drawn": 0.5032,
                "assist_rate": 0.2455,
                "assists": 0,
                "interceptions": 0.3113,
                "tackles_won": 0.9075,
                "tackles": 1.212,
                "clearances": 0.2525,
                "blocks": 0.0,
                "big_chances_created": 0.2485,
                "big_chances_missed": 0.0742,
                "xgot": 0.043,
                "offsides": 0.12,
                "ball_carries": 13.8264,
                "total_progression": 67.2726,
                "progressive_carries": 2.5935,
                "shots_off_target": 0.8336,
                "duel_xg_multiplier": 0.7757,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.9,
                "aerial_won": 0.9,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.327,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Marcos Llorente",
                "opponent_faced": "Marcos Llorente",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.25,
                "creation_factor": 1.25,
                "fifa_overall": 74.0
              },
              "params": {
                "match_squad_rank": 3,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3756,
                "fifa_rank": 2919.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 74.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.1155,
                "goal_rate": 0.1325,
                "goals": 0,
                "shots_on_target": 0.3339,
                "total_shots": 1.1675,
                "expected_assists": 0.1561,
                "key_pass": 1.1564,
                "rating": 6.8828,
                "minutes": 71.67,
                "total_pass": 18.5139,
                "accurate_pass": 14.083,
                "duels_won": 4.124,
                "total_long_balls": 1.4832,
                "accurate_long_balls": 0.6436,
                "total_opp_half_passes": 13.3851,
                "accurate_opp_half_passes": 9.6768,
                "crosses_total": 2.0877,
                "crosses_accurate": 0.4596,
                "touches": 32.6479,
                "possession_lost": 10.4296,
                "dispossessed": 1.5701,
                "duels_lost": 4.4757,
                "aerial_lost": 0.3997,
                "total_contest": 3.3897,
                "won_contest": 2.197,
                "ball_recovery": 2.9992,
                "challenges_lost": 1.1331,
                "fouls": 0.4037,
                "fouls_drawn": 0.5032,
                "assist_rate": 0.2455,
                "assists": 0,
                "interceptions": 0.3113,
                "tackles_won": 0.9075,
                "tackles": 1.212,
                "clearances": 0.2525,
                "blocks": 0.0,
                "big_chances_created": 0.2485,
                "big_chances_missed": 0.0742,
                "xgot": 0.043,
                "offsides": 0.12,
                "ball_carries": 13.8264,
                "total_progression": 67.2726,
                "progressive_carries": 2.5935,
                "shots_off_target": 0.8336,
                "duel_xg_multiplier": 0.7757,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.9,
                "aerial_won": 0.9,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.327,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Marcos Llorente",
                "opponent_faced": "Marcos Llorente",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.1091,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.25,
                "creation_factor": 1.25,
                "fifa_overall": 74.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.1091,
                "goal_rate": 0.1325,
                "scorer_weight": 0.1444,
                "squad_weight_total": 1.3229,
                "weight_share": 0.1091,
                "finishing_factor": 1.25,
                "appearance_weight": 1.0,
                "weight_rank": 3,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Roger Brugué",
                    "weight": 0.315,
                    "already": 0,
                    "effective_weight": 0.315,
                    "runner_up": "Iván Romero",
                    "runner_up_effective_weight": 0.2553
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.1155,
                "goal_rate": 0.1325,
                "goals": 0,
                "shots_on_target": 0.3339,
                "total_shots": 1.1675,
                "expected_assists": 0.1561,
                "key_pass": 1.1564,
                "rating": 6.8828,
                "minutes": 71.67,
                "total_pass": 18.5139,
                "accurate_pass": 14.083,
                "duels_won": 4.124,
                "total_long_balls": 1.4832,
                "accurate_long_balls": 0.6436,
                "total_opp_half_passes": 13.3851,
                "accurate_opp_half_passes": 9.6768,
                "crosses_total": 2.0877,
                "crosses_accurate": 0.4596,
                "touches": 32.6479,
                "possession_lost": 10.4296,
                "dispossessed": 1.5701,
                "duels_lost": 4.4757,
                "aerial_lost": 0.3997,
                "total_contest": 3.3897,
                "won_contest": 2.197,
                "ball_recovery": 2.9992,
                "challenges_lost": 1.1331,
                "fouls": 0.4037,
                "fouls_drawn": 0.5032,
                "assist_rate": 0.2455,
                "assists": 1,
                "interceptions": 0.3113,
                "tackles_won": 0.9075,
                "tackles": 1.212,
                "clearances": 0.2525,
                "blocks": 0.0,
                "big_chances_created": 0.2485,
                "big_chances_missed": 0.0742,
                "xgot": 0.043,
                "offsides": 0.12,
                "ball_carries": 13.8264,
                "total_progression": 67.2726,
                "progressive_carries": 2.5935,
                "shots_off_target": 0.8336,
                "duel_xg_multiplier": 0.7757,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 0.9,
                "aerial_won": 0.9,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.327,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Marcos Llorente",
                "opponent_faced": "Marcos Llorente",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.1091,
                "projected_assists": 1,
                "assist_probability": 0.1445,
                "finishing_factor": 1.25,
                "creation_factor": 1.25,
                "fifa_overall": 74.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 1,
                "assist_probability": 0.1445,
                "assist_rate": 0.2455,
                "provider_weight": 0.1951,
                "squad_weight_total": 0.7982,
                "weight_share": 0.2445,
                "creation_factor": 1.25,
                "appearance_weight": 1.0,
                "weight_rank": 1,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Thiago Fernández",
                    "weight": 0.1951,
                    "already": 0,
                    "effective_weight": 0.1951,
                    "runner_up": "Jon Ander Olasagasti",
                    "runner_up_effective_weight": 0.1554,
                    "blocked_own_goal": [
                      "Roger Brugué"
                    ]
                  }
                ]
              }
            }
          ]
        }
      },
      "bench_players": {
        "Pablo Cunat Campos": {
          "player_id": 2660173,
          "position": "G",
          "position_depth": "G_BENCH",
          "is_starter": false,
          "shirt_number": 1,
          "height": 188,
          "market_value": 1600000,
          "stats": {
            "saves": 0,
            "goals_prevented": -0.0285,
            "rating": 6.89,
            "minutes": 4,
            "total_pass": 4,
            "accurate_pass": 2,
            "total_long_balls": 3,
            "accurate_long_balls": 1,
            "touches": 7,
            "clearances": 0,
            "ball_recovery": 2,
            "high_claims": 0,
            "punches": 0.3735,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 0,
            "possession_lost": 2.1263,
            "duels_won": 0,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "bench_appearance_probability": 0.109,
            "bench_expected_minutes": 4.39,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.291,
            "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": 88.0
          },
          "latest_10_games": [
            {
              "match_id": 14082865,
              "match_date": "2025-08-23",
              "home_team": "Levante UD",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 8.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0019,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 8,
                "clearances": 3,
                "ball_recovery": 17,
                "saves": 9,
                "goals_prevented": -0.4715
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14082849,
              "match_date": "2025-08-16",
              "home_team": "Deportivo Alavés",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Deportivo Alavés",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0011,
                "total_shots": 0,
                "total_pass": 35,
                "accurate_pass": 21,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 8,
                "saves": 2,
                "goals_prevented": 0.2151
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 37,
            "combined_rank_score": 46.0,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 49.0,
            "sofascore_rating": 7.75,
            "sofascore_appearances": 2.0,
            "fifa_rank": 43.0,
            "fifa_overall": 88.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.89,
            "source_file": "data/player_rankings.csv",
            "player_name": "Pablo Cunat Campos",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Vitinha",
                  "ranking": 32
                },
                {
                  "player_name": "Fermín López",
                  "ranking": 33
                },
                {
                  "player_name": "Bianneider Tamayo",
                  "ranking": 34
                },
                {
                  "player_name": "Virgil van Dijk",
                  "ranking": 35
                },
                {
                  "player_name": "Remo Freuler",
                  "ranking": 36
                }
              ],
              "lower": [
                {
                  "player_name": "Pablo Cuñat",
                  "ranking": 38
                },
                {
                  "player_name": "Mike Maignan",
                  "ranking": 39
                },
                {
                  "player_name": "Martin Ødegaard",
                  "ranking": 40
                },
                {
                  "player_name": "Lionel Messi",
                  "ranking": 41
                },
                {
                  "player_name": "Abdumavlon Abduzhalilov",
                  "ranking": 42
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.375,
          "history_matches": 2,
          "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",
              "passValueNormalized",
              "defensiveValueNormalized",
              "goalkeeperValueNormalized",
              "goalsPrevented",
              "rating",
              "pass_accuracy",
              "long_ball_accuracy",
              "save_contribution",
              "inside_box_save_rate",
              "sweeper_accuracy",
              "sweeper_actions_p90",
              "distribution_accuracy",
              "commanding_index",
              "history_matches"
            ],
            "targets_predicted": [
              "saves",
              "goalsPrevented",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.375,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 4.392222187561249,
            "bench_appearance_prob": 0.10873737216187492,
            "market_value_adjustment": 0.9855,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost G_service (2 historical appearances) to 4.4 expected mins (appearance prob 0.11)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost G_service raw output over 3 target models",
              "stats": {
                "saves": 2.9573,
                "goals_prevented": -0.1875,
                "rating": 6.89,
                "minutes": 28.5,
                "total_pass": 27.973,
                "accurate_pass": 13.973,
                "total_long_balls": 21.0,
                "accurate_long_balls": 7.4595,
                "touches": 44.9189,
                "clearances": 3.0,
                "ball_recovery": 12.8649,
                "high_claims": 2.0,
                "punches": 2.4595,
                "aerial_won": 0.9189,
                "sweeper_actions": 0.0,
                "sweeper_accurate": 0.0,
                "saves_inside_box": 3.0811,
                "possession_lost": 14.0,
                "duels_won": 0.9189,
                "duels_lost": 0.0,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 9.8108,
                "accurate_own_half_passes": 9.3513
              },
              "trace": {
                "model": {
                  "position_service": "G",
                  "schema_version": 5,
                  "trained_at": "2026-10-30T10:03:31.159511+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 201,
                    "rows": 7335
                  }
                },
                "player_history": [
                  {
                    "match_date": "2025-08-23",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.5405,
                    "rating": 8.3
                  },
                  {
                    "match_date": "2025-08-16",
                    "opponent": "Deportivo Alavés",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.4595,
                    "rating": 7.2
                  }
                ],
                "feature_row": {
                  "history_matches": 2.0,
                  "is_starting_11": 0.0,
                  "sweeper_actions_p90": 0.0,
                  "accurateOwnHalfPasses": 9.3514,
                  "totalLongBalls": 21.0,
                  "commanding_index": 3.0676,
                  "accurateKeeperSweeper": 0.0,
                  "distribution_accuracy": 0.9758
                },
                "per_target": [
                  {
                    "target": "saves",
                    "predicted": 2.957326650619507,
                    "model_output": 2.9573,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0453
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0393
                      },
                      {
                        "name": "save_contribution",
                        "importance": 0.038
                      },
                      {
                        "name": "saves",
                        "importance": 0.0361
                      },
                      {
                        "name": "commanding_index",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 2.9243,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1993
                        },
                        {
                          "name": "commanding_index",
                          "contribution": 0.0979
                        },
                        {
                          "name": "distribution_accuracy",
                          "contribution": -0.0901
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0485
                        },
                        {
                          "name": "rating",
                          "contribution": 0.044
                        }
                      ],
                      "others": 0.132,
                      "total": 2.9573,
                      "log_link": true,
                      "margin_base": 1.07304,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.070606
                        },
                        {
                          "name": "commanding_index",
                          "margin": 0.035283
                        },
                        {
                          "name": "distribution_accuracy",
                          "margin": -0.032442
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.017603
                        },
                        {
                          "name": "rating",
                          "margin": 0.015711
                        }
                      ],
                      "others_margin": 0.045696
                    }
                  },
                  {
                    "target": "goalsPrevented",
                    "predicted": -0.1875084936618805,
                    "model_output": -0.1875,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "accurateOwnHalfPasses",
                        "importance": 0.0462
                      },
                      {
                        "name": "goalkeeperValueNormalized",
                        "importance": 0.0392
                      },
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0391
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0381
                      },
                      {
                        "name": "punches",
                        "importance": 0.0369
                      }
                    ],
                    "decomposition": {
                      "base": -0.0231,
                      "items": [
                        {
                          "name": "punches",
                          "contribution": -0.0598
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0564
                        },
                        {
                          "name": "accurateKeeperSweeper",
                          "contribution": -0.0344
                        },
                        {
                          "name": "distribution_accuracy",
                          "contribution": -0.0325
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": -0.0249
                        }
                      ],
                      "others": -0.0692,
                      "total": -0.1875,
                      "log_link": false,
                      "margin_base": -0.023055,
                      "item_margins": [
                        {
                          "name": "punches",
                          "margin": -0.059837
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.056378
                        },
                        {
                          "name": "accurateKeeperSweeper",
                          "margin": -0.034366
                        },
                        {
                          "name": "distribution_accuracy",
                          "margin": -0.032482
                        },
                        {
                          "name": "pass_accuracy",
                          "margin": -0.024889
                        }
                      ],
                      "others_margin": -0.069257
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.890042781829834,
                    "model_output": 6.89,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalLongBalls",
                        "importance": 0.039
                      },
                      {
                        "name": "accurateKeeperSweeper",
                        "importance": 0.0364
                      },
                      {
                        "name": "accurateOwnHalfPasses",
                        "importance": 0.036
                      },
                      {
                        "name": "totalKeeperSweeper",
                        "importance": 0.0357
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0356
                      }
                    ],
                    "decomposition": {
                      "base": 6.9903,
                      "items": [
                        {
                          "name": "accurateKeeperSweeper",
                          "contribution": -0.0458
                        },
                        {
                          "name": "totalKeeperSweeper",
                          "contribution": -0.0399
                        },
                        {
                          "name": "savedShotsFromInsideTheBox",
                          "contribution": 0.0373
                        },
                        {
                          "name": "rating",
                          "contribution": 0.034
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0298
                        }
                      ],
                      "others": -0.0561,
                      "total": 6.89,
                      "log_link": false,
                      "margin_base": 6.99032,
                      "item_margins": [
                        {
                          "name": "accurateKeeperSweeper",
                          "margin": -0.04579
                        },
                        {
                          "name": "totalKeeperSweeper",
                          "margin": -0.039934
                        },
                        {
                          "name": "savedShotsFromInsideTheBox",
                          "margin": 0.037306
                        },
                        {
                          "name": "rating",
                          "margin": 0.034034
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.029752
                        }
                      ],
                      "others_margin": -0.056142
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 2,
                  "role_matches": 0,
                  "minutes_source": "position_median",
                  "volume_basis": "all_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9855, quality 0.437)",
              "stats": {
                "saves": 2.9144,
                "goals_prevented": -0.1848,
                "rating": 6.89,
                "minutes": 28.5,
                "total_pass": 27.5674,
                "accurate_pass": 13.7704,
                "total_long_balls": 20.6955,
                "accurate_long_balls": 7.3513,
                "touches": 44.2676,
                "clearances": 2.9565,
                "ball_recovery": 12.6784,
                "high_claims": 1.971,
                "punches": 2.4238,
                "aerial_won": 0.9056,
                "sweeper_actions": 0.0,
                "sweeper_accurate": 0.0,
                "saves_inside_box": 3.0364,
                "possession_lost": 13.797,
                "duels_won": 0.9056,
                "duels_lost": 0.0,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 9.6685,
                "accurate_own_half_passes": 9.2157
              },
              "params": {
                "market_value_eur": 1600000,
                "quality_factor": 0.4374,
                "boost_factor": 0.9855,
                "reference_quality": 0.505,
                "history_matches": 2,
                "history_shrink": 0.7143,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 28.5 to 4.4 expected minutes (appearance prob 0.11)",
              "stats": {
                "saves": 0.4491,
                "goals_prevented": -0.0285,
                "rating": 6.89,
                "minutes": 4.39,
                "total_pass": 4.2485,
                "accurate_pass": 2.1222,
                "total_long_balls": 3.1894,
                "accurate_long_balls": 1.1329,
                "touches": 6.8222,
                "clearances": 0.4556,
                "ball_recovery": 1.9539,
                "high_claims": 0.3038,
                "punches": 0.3735,
                "aerial_won": 0.1396,
                "sweeper_actions": 0.0,
                "sweeper_accurate": 0.0,
                "saves_inside_box": 0.4679,
                "possession_lost": 2.1263,
                "duels_won": 0.1396,
                "duels_lost": 0.0,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 1.49,
                "accurate_own_half_passes": 1.4203,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39
              },
              "params": {
                "expected_minutes": 4.39,
                "projection_minutes": 28.5,
                "minutes_scale": 0.1541,
                "appearance_probability": 0.109
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 0.4491,
                "goals_prevented": -0.0285,
                "rating": 6.89,
                "minutes": 4.39,
                "total_pass": 4.2485,
                "accurate_pass": 2.1222,
                "total_long_balls": 3.1894,
                "accurate_long_balls": 1.1329,
                "touches": 6.8222,
                "clearances": 0.4556,
                "ball_recovery": 1.9539,
                "high_claims": 0.3038,
                "punches": 0.3735,
                "aerial_won": 0.1396,
                "sweeper_actions": 0.0,
                "sweeper_accurate": 0.0,
                "saves_inside_box": 0.4679,
                "possession_lost": 2.1263,
                "duels_won": 0.1396,
                "duels_lost": 0.0,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 1.49,
                "accurate_own_half_passes": 1.4203,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "not_projected_to_play",
              "description": "Not among the projected substitutes: no share of the team's goals or assists",
              "stats": {
                "saves": 0.4491,
                "goals_prevented": -0.0285,
                "rating": 6.89,
                "minutes": 4.39,
                "total_pass": 4.2485,
                "accurate_pass": 2.1222,
                "total_long_balls": 3.1894,
                "accurate_long_balls": 1.1329,
                "touches": 6.8222,
                "clearances": 0.4556,
                "ball_recovery": 1.9539,
                "high_claims": 0.3038,
                "punches": 0.3735,
                "aerial_won": 0.1396,
                "sweeper_actions": 0.0,
                "sweeper_accurate": 0.0,
                "saves_inside_box": 0.4679,
                "possession_lost": 2.1263,
                "duels_won": 0.1396,
                "duels_lost": 0.0,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 1.49,
                "accurate_own_half_passes": 1.4203,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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
              },
              "params": {
                "appearance_probability": 0.109,
                "projected_substitutes": 3,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 2 by projected rating, fifa_overall 88.0)",
              "stats": {
                "saves": 0.4491,
                "goals_prevented": -0.0285,
                "rating": 6.89,
                "minutes": 4.39,
                "total_pass": 4.2485,
                "accurate_pass": 2.1222,
                "total_long_balls": 3.1894,
                "accurate_long_balls": 1.1329,
                "touches": 6.8222,
                "clearances": 0.4556,
                "ball_recovery": 1.9539,
                "high_claims": 0.3038,
                "punches": 0.3735,
                "aerial_won": 0.1396,
                "sweeper_actions": 0.0,
                "sweeper_accurate": 0.0,
                "saves_inside_box": 0.4679,
                "possession_lost": 2.1263,
                "duels_won": 0.1396,
                "duels_lost": 0.0,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0,
                "total_own_half_passes": 1.49,
                "accurate_own_half_passes": 1.4203,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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": 88.0
              },
              "params": {
                "match_squad_rank": 2,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 37,
                "fifa_rank": 43.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 88.0
              }
            }
          ]
        },
        "Axel Tape": {
          "player_id": 1937795,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 16,
          "height": 180,
          "market_value": 8700000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 1,
            "aerial_won": 0,
            "total_shots": 0,
            "rating": 6.5858,
            "minutes": 14,
            "total_pass": 2,
            "accurate_pass": 2,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 2,
            "accurate_own_half_passes": 2,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 5,
            "possession_lost": 1.9487,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_lost": 0,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0001,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 3,
            "total_progression": 9,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.311,
            "bench_expected_minutes": 13.85,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.291,
            "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": 67.0
          },
          "latest_10_games": [
            {
              "match_id": 16421086,
              "match_date": "2026-10-25",
              "home_team": "Real Sociedad",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 28,
                "rating": 6.6,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 3,
                "accurate_pass": 3,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 1,
                "ball_recovery": 1,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 6593,
            "combined_rank_score": 4909.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 698.0,
            "sofascore_rating": 6.7,
            "sofascore_appearances": 1.0,
            "fifa_rank": 9120.0,
            "fifa_overall": 67.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.5858,
            "source_file": "data/player_rankings.csv",
            "player_name": "Axel Tape",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Tim Siersleben",
                  "ranking": 6588
                },
                {
                  "player_name": "Lee Ho Jae",
                  "ranking": 6589
                },
                {
                  "player_name": "Boris Tomiak",
                  "ranking": 6590
                },
                {
                  "player_name": "Ole Pohlmann",
                  "ranking": 6591
                },
                {
                  "player_name": "Semih Sahin",
                  "ranking": 6592
                }
              ],
              "lower": [
                {
                  "player_name": "Daisuke Yokota",
                  "ranking": 6594
                },
                {
                  "player_name": "Clayton Taylor",
                  "ranking": 6595
                },
                {
                  "player_name": "Rahim Alhassane",
                  "ranking": 6596
                },
                {
                  "player_name": "Giovane",
                  "ranking": 6597
                },
                {
                  "player_name": "Stefano Sabelli",
                  "ranking": 6598
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.312,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "totalTackle",
              "totalShots",
              "rating",
              "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",
              "totalShots",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.312,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 13.847985272763946,
            "bench_appearance_prob": 0.3112720578529066,
            "market_value_adjustment": 1.0005,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost D_service (1 historical appearances) to 13.8 expected mins (appearance prob 0.31)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.2688,
                "tackles": 0.4818,
                "tackles_won": 0.2574,
                "clearances": 0.8061,
                "aerial_won": 0.2827,
                "total_shots": 0.1625,
                "rating": 6.5858,
                "minutes": 21.33,
                "total_pass": 3.0,
                "accurate_pass": 3.0,
                "duels_won": 1.0,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 3.0,
                "accurate_own_half_passes": 3.0,
                "total_opp_half_passes": 0.0,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 8.0,
                "possession_lost": 3.0,
                "dispossessed": 0.0,
                "duels_lost": 2.0,
                "aerial_lost": 0.0,
                "total_contest": 1.0,
                "won_contest": 0.0,
                "ball_recovery": 1.0,
                "challenges_lost": 0.0,
                "fouls": 1.0,
                "fouls_drawn": 1.0,
                "blocks": 0.0,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0001,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 5.0,
                "total_progression": 13.8554,
                "progressive_carries": 0.0,
                "key_pass": 0.0,
                "shots_off_target": 0.1625
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Real Sociedad",
                    "minutes": 28.0,
                    "is_starting": false,
                    "weight": 1.0,
                    "rating": 6.6
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 0.0,
                  "totalClearance": 0.0,
                  "aerialWon": 0.0,
                  "totalClearance_p90": 0.0,
                  "totalTackle": 0.0,
                  "totalPass": 3.0
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.26882773637771606,
                    "model_output": 0.2688,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4738
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0419
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.025
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0152
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": 0.0105
                        }
                      ],
                      "others": -0.0543,
                      "total": 0.2688,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.788729
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.112126
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.073465
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": -0.047385
                        },
                        {
                          "name": "long_ball_accuracy",
                          "margin": 0.033104
                        }
                      ],
                      "others_margin": -0.184116
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 0.48175048828125,
                    "model_output": 0.4818,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7192
                        },
                        {
                          "name": "totalTackle",
                          "contribution": -0.0604
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": -0.0497
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0354
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0267
                        }
                      ],
                      "others": -0.0125,
                      "total": 0.4818,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.731913
                        },
                        {
                          "name": "totalTackle",
                          "margin": -0.09497
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": -0.085563
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.065758
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.052689
                        }
                      ],
                      "others_margin": -0.025621
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.25741878151893616,
                    "model_output": 0.2574,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4468
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": -0.041
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0332
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0221
                        },
                        {
                          "name": "totalTackle",
                          "contribution": -0.0185
                        }
                      ],
                      "others": -0.0267,
                      "total": 0.2574,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.751468
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": -0.108424
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.097502
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.070379
                        },
                        {
                          "name": "totalTackle",
                          "margin": -0.063171
                        }
                      ],
                      "others_margin": -0.098521
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 0.8060885667800903,
                    "model_output": 0.8061,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -2.2604
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.3069
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.1331
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.1015
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0511
                        }
                      ],
                      "others": -0.0388,
                      "total": 0.8061,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -1.074903
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.303849
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.143183
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.10734
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.05869
                        }
                      ],
                      "others_margin": -0.047024
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.28270986676216125,
                    "model_output": 0.2827,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.8443
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.162
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.055
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0416
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0408
                        }
                      ],
                      "others": -0.0344,
                      "total": 0.2827,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.948904
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.362084
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.160283
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.123447
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.12088
                        }
                      ],
                      "others_margin": -0.114987
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.16245539486408234,
                    "model_output": 0.1625,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1923
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0643
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0187
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0147
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0143
                        }
                      ],
                      "others": -0.0117,
                      "total": 0.1625,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.192288
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.064333
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.018728
                        },
                        {
                          "name": "rating",
                          "margin": -0.014728
                        },
                        {
                          "name": "totalProgression",
                          "margin": -0.014328
                        }
                      ],
                      "others_margin": -0.011679
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.585780620574951,
                    "model_output": 6.5858,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "totalPass",
                          "contribution": -0.0441
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0231
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0206
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0181
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0121
                        }
                      ],
                      "others": -0.0917,
                      "total": 6.5858,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "totalPass",
                          "margin": -0.04406
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.023146
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.020625
                        },
                        {
                          "name": "rating",
                          "margin": -0.018105
                        },
                        {
                          "name": "is_starting_11",
                          "margin": -0.012073
                        }
                      ],
                      "others_margin": -0.091727
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 1,
                  "role_matches": 1,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "all_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0005, quality 0.507)",
              "stats": {
                "interceptions": 0.269,
                "tackles": 0.482,
                "tackles_won": 0.2575,
                "clearances": 0.8065,
                "aerial_won": 0.2829,
                "total_shots": 0.1626,
                "rating": 6.5858,
                "minutes": 21.33,
                "total_pass": 3.0015,
                "accurate_pass": 3.0015,
                "duels_won": 1.0005,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 3.0015,
                "accurate_own_half_passes": 3.0015,
                "total_opp_half_passes": 0.0,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 8.004,
                "possession_lost": 3.0015,
                "dispossessed": 0.0,
                "duels_lost": 2.001,
                "aerial_lost": 0.0,
                "total_contest": 1.0005,
                "won_contest": 0.0,
                "ball_recovery": 1.0005,
                "challenges_lost": 0.0,
                "fouls": 1.0005,
                "fouls_drawn": 1.0005,
                "blocks": 0.0,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0001,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 5.0025,
                "total_progression": 13.8623,
                "progressive_carries": 0.0,
                "key_pass": 0.0,
                "shots_off_target": 0.1626
              },
              "params": {
                "market_value_eur": 8700000,
                "quality_factor": 0.5071,
                "boost_factor": 1.0005,
                "reference_quality": 0.505,
                "history_matches": 1,
                "history_shrink": 0.8333,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 21.3 to 13.8 expected minutes (appearance prob 0.31)",
              "stats": {
                "interceptions": 0.1746,
                "tackles": 0.3129,
                "tackles_won": 0.1672,
                "clearances": 0.5236,
                "aerial_won": 0.1837,
                "total_shots": 0.1056,
                "rating": 6.5858,
                "minutes": 13.85,
                "total_pass": 1.9487,
                "accurate_pass": 1.9487,
                "duels_won": 0.6496,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 1.9487,
                "accurate_own_half_passes": 1.9487,
                "total_opp_half_passes": 0.0,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 5.1964,
                "possession_lost": 1.9487,
                "dispossessed": 0.0,
                "duels_lost": 1.2991,
                "aerial_lost": 0.0,
                "total_contest": 0.6496,
                "won_contest": 0.0,
                "ball_recovery": 0.6496,
                "challenges_lost": 0.0,
                "fouls": 0.6496,
                "fouls_drawn": 0.6496,
                "blocks": 0.0,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0001,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.2478,
                "total_progression": 8.9998,
                "progressive_carries": 0.0,
                "key_pass": 0.0,
                "shots_off_target": 0.1056,
                "bench_appearance_probability": 0.311,
                "bench_expected_minutes": 13.85
              },
              "params": {
                "expected_minutes": 13.85,
                "projection_minutes": 21.33,
                "minutes_scale": 0.6492,
                "appearance_probability": 0.311
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.1746,
                "tackles": 0.3129,
                "tackles_won": 0.1672,
                "clearances": 0.5236,
                "aerial_won": 0.1837,
                "total_shots": 0.1056,
                "rating": 6.5858,
                "minutes": 13.85,
                "total_pass": 1.9487,
                "accurate_pass": 1.9487,
                "duels_won": 0.6496,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 1.9487,
                "accurate_own_half_passes": 1.9487,
                "total_opp_half_passes": 0.0,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 5.1964,
                "possession_lost": 1.9487,
                "dispossessed": 0.0,
                "duels_lost": 1.2991,
                "aerial_lost": 0.0,
                "total_contest": 0.6496,
                "won_contest": 0.0,
                "ball_recovery": 0.6496,
                "challenges_lost": 0.0,
                "fouls": 0.6496,
                "fouls_drawn": 0.6496,
                "blocks": 0.0,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0001,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.2478,
                "total_progression": 8.9998,
                "progressive_carries": 0.0,
                "key_pass": 0.0,
                "shots_off_target": 0.1056,
                "bench_appearance_probability": 0.311,
                "bench_expected_minutes": 13.85
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "not_projected_to_play",
              "description": "Not among the projected substitutes: no share of the team's goals or assists",
              "stats": {
                "interceptions": 0.1746,
                "tackles": 0.3129,
                "tackles_won": 0.1672,
                "clearances": 0.5236,
                "aerial_won": 0.1837,
                "total_shots": 0.1056,
                "rating": 6.5858,
                "minutes": 13.85,
                "total_pass": 1.9487,
                "accurate_pass": 1.9487,
                "duels_won": 0.6496,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 1.9487,
                "accurate_own_half_passes": 1.9487,
                "total_opp_half_passes": 0.0,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 5.1964,
                "possession_lost": 1.9487,
                "dispossessed": 0.0,
                "duels_lost": 1.2991,
                "aerial_lost": 0.0,
                "total_contest": 0.6496,
                "won_contest": 0.0,
                "ball_recovery": 0.6496,
                "challenges_lost": 0.0,
                "fouls": 0.6496,
                "fouls_drawn": 0.6496,
                "blocks": 0.0,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0001,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.2478,
                "total_progression": 8.9998,
                "progressive_carries": 0.0,
                "key_pass": 0.0,
                "shots_off_target": 0.1056,
                "bench_appearance_probability": 0.311,
                "bench_expected_minutes": 13.85,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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
              },
              "params": {
                "appearance_probability": 0.311,
                "projected_substitutes": 3,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 18 by projected rating, fifa_overall 67.0)",
              "stats": {
                "interceptions": 0.1746,
                "tackles": 0.3129,
                "tackles_won": 0.1672,
                "clearances": 0.5236,
                "aerial_won": 0.1837,
                "total_shots": 0.1056,
                "rating": 6.5858,
                "minutes": 13.85,
                "total_pass": 1.9487,
                "accurate_pass": 1.9487,
                "duels_won": 0.6496,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_own_half_passes": 1.9487,
                "accurate_own_half_passes": 1.9487,
                "total_opp_half_passes": 0.0,
                "accurate_opp_half_passes": 0.0,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 5.1964,
                "possession_lost": 1.9487,
                "dispossessed": 0.0,
                "duels_lost": 1.2991,
                "aerial_lost": 0.0,
                "total_contest": 0.6496,
                "won_contest": 0.0,
                "ball_recovery": 0.6496,
                "challenges_lost": 0.0,
                "fouls": 0.6496,
                "fouls_drawn": 0.6496,
                "blocks": 0.0,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0001,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.2478,
                "total_progression": 8.9998,
                "progressive_carries": 0.0,
                "key_pass": 0.0,
                "shots_off_target": 0.1056,
                "bench_appearance_probability": 0.311,
                "bench_expected_minutes": 13.85,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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": 67.0
              },
              "params": {
                "match_squad_rank": 18,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 6593,
                "fifa_rank": 9120.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 67.0
              }
            }
          ]
        },
        "Matias Moreno": {
          "player_id": 1496360,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 2,
          "height": 195,
          "market_value": 5800000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 2,
            "aerial_won": 1,
            "total_shots": 0,
            "rating": 6.7258,
            "minutes": 14,
            "total_pass": 35,
            "accurate_pass": 31,
            "duels_won": 3,
            "total_long_balls": 4,
            "accurate_long_balls": 2,
            "total_own_half_passes": 22,
            "accurate_own_half_passes": 21,
            "total_opp_half_passes": 13,
            "accurate_opp_half_passes": 10,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 45,
            "possession_lost": 5.6335,
            "dispossessed": 0.2883,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.0231,
            "expected_assists": 0.0242,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 14,
            "total_progression": 95,
            "progressive_carries": 2,
            "key_pass": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.305,
            "bench_expected_minutes": 13.71,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.291,
            "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": 73.0
          },
          "latest_10_games": [
            {
              "match_id": 14083710,
              "match_date": "2026-05-23",
              "home_team": "Real Betis",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 90,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0029,
                "total_shots": 0,
                "total_pass": 41,
                "accurate_pass": 38,
                "interceptions": 4,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083676,
              "match_date": "2026-05-17",
              "home_team": "Levante UD",
              "away_team": "Mallorca",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Mallorca",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0009,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 20,
                "tackles": 2,
                "interceptions": 2,
                "clearances": 12,
                "aerial_won": 3,
                "duels_won": 6,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083613,
              "match_date": "2026-05-12",
              "home_team": "Celta Vigo",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0097,
                "total_shots": 0,
                "total_pass": 48,
                "accurate_pass": 43,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083568,
              "match_date": "2026-05-08",
              "home_team": "Levante UD",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1934,
                "expected_assists": 0.0462,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 63,
                "accurate_pass": 56,
                "key_pass": 3,
                "clearances": 2,
                "aerial_won": 3,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083512,
              "match_date": "2026-05-02",
              "home_team": "Villarreal",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 5.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0061,
                "total_shots": 0,
                "total_pass": 71,
                "accurate_pass": 65,
                "clearances": 3,
                "duels_won": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083221,
              "match_date": "2026-04-27",
              "home_team": "Espanyol",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0024,
                "total_shots": 0,
                "total_pass": 49,
                "accurate_pass": 39,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 8,
                "aerial_won": 4,
                "duels_won": 8,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083265,
              "match_date": "2026-04-23",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.002,
                "total_shots": 0,
                "total_pass": 37,
                "accurate_pass": 34,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 6,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083182,
              "match_date": "2026-04-13",
              "home_team": "Levante UD",
              "away_team": "Getafe",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Getafe",
              "stats": {
                "minutes": 90,
                "rating": 7.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0197,
                "expected_assists": 0.3136,
                "total_shots": 1,
                "total_pass": 48,
                "accurate_pass": 42,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 2,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 6,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083701,
              "match_date": "2026-04-04",
              "home_team": "Real Sociedad",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 45,
                "rating": 6.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0024,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 18,
                "tackles": 2,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083647,
              "match_date": "2026-03-16",
              "home_team": "Rayo Vallecano",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0942,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 29,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 6,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 4033,
            "combined_rank_score": 2016.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 578.0,
            "sofascore_rating": 6.8,
            "sofascore_appearances": 28.0,
            "fifa_rank": 3454.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 13,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7258,
            "source_file": "data/player_rankings.csv",
            "player_name": "Matias Moreno",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Lazar Carević",
                  "ranking": 4028
                },
                {
                  "player_name": "Nehuén Pérez",
                  "ranking": 4029
                },
                {
                  "player_name": "Francisco Moura",
                  "ranking": 4030
                },
                {
                  "player_name": "Andreas Skov Olsen",
                  "ranking": 4031
                },
                {
                  "player_name": "Borja Sainz",
                  "ranking": 4032
                }
              ],
              "lower": [
                {
                  "player_name": "Fresneda",
                  "ranking": 4034
                },
                {
                  "player_name": "Leonardo Lelo",
                  "ranking": 4035
                },
                {
                  "player_name": "Harrison Armstrong",
                  "ranking": 4036
                },
                {
                  "player_name": "Gastón Benedetti",
                  "ranking": 4037
                },
                {
                  "player_name": "John Egan",
                  "ranking": 4038
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 28,
          "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",
              "totalTackle",
              "totalShots",
              "rating",
              "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",
              "totalShots",
              "rating"
            ],
            "history_matches": 28,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 13.709104686408814,
            "bench_appearance_prob": 0.30495930392767334,
            "market_value_adjustment": 0.9985,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost D_service (28 historical appearances) to 13.7 expected mins (appearance prob 0.30)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.4416,
                "tackles": 0.5217,
                "tackles_won": 0.2809,
                "clearances": 2.3361,
                "aerial_won": 0.7973,
                "total_shots": 0.2324,
                "rating": 6.7258,
                "minutes": 17.0,
                "total_pass": 43.6983,
                "accurate_pass": 38.0689,
                "duels_won": 3.7228,
                "total_long_balls": 4.7863,
                "accurate_long_balls": 2.327,
                "total_own_half_passes": 27.6636,
                "accurate_own_half_passes": 26.1783,
                "total_opp_half_passes": 16.0347,
                "accurate_opp_half_passes": 11.8906,
                "crosses_total": 0.1906,
                "crosses_accurate": 0.0931,
                "touches": 55.9813,
                "possession_lost": 6.9963,
                "dispossessed": 0.2887,
                "duels_lost": 2.7575,
                "aerial_lost": 1.3502,
                "total_contest": 0.2394,
                "won_contest": 0.1305,
                "ball_recovery": 3.181,
                "challenges_lost": 0.3031,
                "fouls": 0.7664,
                "fouls_drawn": 0.878,
                "blocks": 0.4969,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0287,
                "expected_assists": 0.03,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0497,
                "xgot": 0.0,
                "ball_carries": 16.8433,
                "total_progression": 117.8215,
                "progressive_carries": 2.7669,
                "key_pass": 0.4225,
                "shots_off_target": 0.2324
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-05-23",
                    "opponent": "Real Betis",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1516,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Mallorca",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1289,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-05-12",
                    "opponent": "Celta Vigo",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1095,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-05-08",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0931,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-05-02",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0791,
                    "rating": 5.2
                  },
                  {
                    "match_date": "2026-04-27",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0673,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-04-23",
                    "opponent": "Sevilla",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0572,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-04-13",
                    "opponent": "Getafe",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0486,
                    "rating": 7.8
                  },
                  {
                    "match_date": "2026-04-04",
                    "opponent": "Real Sociedad",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.0413,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-03-16",
                    "opponent": "Rayo Vallecano",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0351,
                    "rating": 7.4
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalClearance": 4.4835,
                  "aerialWon": 1.8392,
                  "totalClearance_p90": 4.5573,
                  "totalTackle": 0.9681,
                  "totalPass": 43.6983
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.44156980514526367,
                    "model_output": 0.4416,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4749
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0431
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": 0.0117
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0076
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0073
                        }
                      ],
                      "others": -0.0071,
                      "total": 0.4416,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.791316
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.10396
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": 0.026394
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.016864
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.016193
                        }
                      ],
                      "others_margin": -0.016161
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 0.5217006802558899,
                    "model_output": 0.5217,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7317
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0314
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": -0.0283
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.0224
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0153
                        }
                      ],
                      "others": -0.0349,
                      "total": 0.5217,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.750801
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.049132
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": -0.046591
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.038412
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.027096
                        }
                      ],
                      "others_margin": -0.064815
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.2808702290058136,
                    "model_output": 0.2809,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4587
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0158
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0128
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0123
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0112
                        }
                      ],
                      "others": -0.054,
                      "total": 0.2809,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.781797
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.041589
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.035224
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.034999
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.032808
                        }
                      ],
                      "others_margin": -0.17586
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 2.3360681533813477,
                    "model_output": 2.3361,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -2.0167
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.3368
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.1172
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0943
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0869
                        }
                      ],
                      "others": 0.2859,
                      "total": 2.3361,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.885901
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.213498
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.064771
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.04921
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.043334
                        }
                      ],
                      "others_margin": 0.130493
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.79727703332901,
                    "model_output": 0.7973,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7875
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.1501
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.0347
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0288
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0254
                        }
                      ],
                      "others": -0.0318,
                      "total": 0.7973,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.847766
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.226586
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.045758
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.036472
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.031161
                        }
                      ],
                      "others_margin": -0.039122
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.23243390023708344,
                    "model_output": 0.2324,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.21
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0463
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0349
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0242
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0162
                        }
                      ],
                      "others": -0.0327,
                      "total": 0.2324,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.209999
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.046337
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.034859
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.02416
                        },
                        {
                          "name": "rating",
                          "margin": -0.016159
                        }
                      ],
                      "others_margin": -0.03263
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.725778102874756,
                    "model_output": 6.7258,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": -0.0238
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0163
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": -0.0113
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0108
                        },
                        {
                          "name": "touches",
                          "contribution": 0.0101
                        }
                      ],
                      "others": -0.0176,
                      "total": 6.7258,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": -0.023771
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.016268
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": -0.011316
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.010804
                        },
                        {
                          "name": "touches",
                          "margin": 0.010104
                        }
                      ],
                      "others_margin": -0.017683
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 28,
                  "role_matches": 1,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "all_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9985, quality 0.472)",
              "stats": {
                "interceptions": 0.4409,
                "tackles": 0.5209,
                "tackles_won": 0.2804,
                "clearances": 2.3326,
                "aerial_won": 0.7961,
                "total_shots": 0.2321,
                "rating": 6.7258,
                "minutes": 17.0,
                "total_pass": 43.6328,
                "accurate_pass": 38.0118,
                "duels_won": 3.7172,
                "total_long_balls": 4.7791,
                "accurate_long_balls": 2.3235,
                "total_own_half_passes": 27.6221,
                "accurate_own_half_passes": 26.139,
                "total_opp_half_passes": 16.0106,
                "accurate_opp_half_passes": 11.8728,
                "crosses_total": 0.1903,
                "crosses_accurate": 0.093,
                "touches": 55.8973,
                "possession_lost": 6.9858,
                "dispossessed": 0.2883,
                "duels_lost": 2.7534,
                "aerial_lost": 1.3482,
                "total_contest": 0.239,
                "won_contest": 0.1303,
                "ball_recovery": 3.1762,
                "challenges_lost": 0.3026,
                "fouls": 0.7653,
                "fouls_drawn": 0.8767,
                "blocks": 0.4962,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0287,
                "expected_assists": 0.03,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0496,
                "xgot": 0.0,
                "ball_carries": 16.818,
                "total_progression": 117.6448,
                "progressive_carries": 2.7627,
                "key_pass": 0.4219,
                "shots_off_target": 0.2321
              },
              "params": {
                "market_value_eur": 5800000,
                "quality_factor": 0.472,
                "boost_factor": 0.9985,
                "reference_quality": 0.505,
                "history_matches": 28,
                "history_shrink": 0.1515,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 17.0 to 13.7 expected minutes (appearance prob 0.30)",
              "stats": {
                "interceptions": 0.3555,
                "tackles": 0.4201,
                "tackles_won": 0.2261,
                "clearances": 1.8811,
                "aerial_won": 0.642,
                "total_shots": 0.1872,
                "rating": 6.7258,
                "minutes": 13.71,
                "total_pass": 35.1863,
                "accurate_pass": 30.6534,
                "duels_won": 2.9976,
                "total_long_balls": 3.854,
                "accurate_long_balls": 1.8737,
                "total_own_half_passes": 22.275,
                "accurate_own_half_passes": 21.079,
                "total_opp_half_passes": 12.9112,
                "accurate_opp_half_passes": 9.5744,
                "crosses_total": 0.1535,
                "crosses_accurate": 0.075,
                "touches": 45.0766,
                "possession_lost": 5.6335,
                "dispossessed": 0.2883,
                "duels_lost": 2.2204,
                "aerial_lost": 1.3482,
                "total_contest": 0.1927,
                "won_contest": 0.1051,
                "ball_recovery": 2.5613,
                "challenges_lost": 0.3026,
                "fouls": 0.6172,
                "fouls_drawn": 0.707,
                "blocks": 0.4001,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0231,
                "expected_assists": 0.0242,
                "shots_on_target": 0.0,
                "big_chances_created": 0.04,
                "xgot": 0.0,
                "ball_carries": 13.5623,
                "total_progression": 94.8709,
                "progressive_carries": 2.2279,
                "key_pass": 0.3402,
                "shots_off_target": 0.1872,
                "bench_appearance_probability": 0.305,
                "bench_expected_minutes": 13.71
              },
              "params": {
                "expected_minutes": 13.71,
                "projection_minutes": 17.0,
                "minutes_scale": 0.8064,
                "appearance_probability": 0.305
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.3555,
                "tackles": 0.4201,
                "tackles_won": 0.2261,
                "clearances": 1.8811,
                "aerial_won": 0.642,
                "total_shots": 0.1872,
                "rating": 6.7258,
                "minutes": 13.71,
                "total_pass": 35.1863,
                "accurate_pass": 30.6534,
                "duels_won": 2.9976,
                "total_long_balls": 3.854,
                "accurate_long_balls": 1.8737,
                "total_own_half_passes": 22.275,
                "accurate_own_half_passes": 21.079,
                "total_opp_half_passes": 12.9112,
                "accurate_opp_half_passes": 9.5744,
                "crosses_total": 0.1535,
                "crosses_accurate": 0.075,
                "touches": 45.0766,
                "possession_lost": 5.6335,
                "dispossessed": 0.2883,
                "duels_lost": 2.2204,
                "aerial_lost": 1.3482,
                "total_contest": 0.1927,
                "won_contest": 0.1051,
                "ball_recovery": 2.5613,
                "challenges_lost": 0.3026,
                "fouls": 0.6172,
                "fouls_drawn": 0.707,
                "blocks": 0.4001,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0231,
                "expected_assists": 0.0242,
                "shots_on_target": 0.0,
                "big_chances_created": 0.04,
                "xgot": 0.0,
                "ball_carries": 13.5623,
                "total_progression": 94.8709,
                "progressive_carries": 2.2279,
                "key_pass": 0.3402,
                "shots_off_target": 0.1872,
                "bench_appearance_probability": 0.305,
                "bench_expected_minutes": 13.71
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "not_projected_to_play",
              "description": "Not among the projected substitutes: no share of the team's goals or assists",
              "stats": {
                "interceptions": 0.3555,
                "tackles": 0.4201,
                "tackles_won": 0.2261,
                "clearances": 1.8811,
                "aerial_won": 0.642,
                "total_shots": 0.1872,
                "rating": 6.7258,
                "minutes": 13.71,
                "total_pass": 35.1863,
                "accurate_pass": 30.6534,
                "duels_won": 2.9976,
                "total_long_balls": 3.854,
                "accurate_long_balls": 1.8737,
                "total_own_half_passes": 22.275,
                "accurate_own_half_passes": 21.079,
                "total_opp_half_passes": 12.9112,
                "accurate_opp_half_passes": 9.5744,
                "crosses_total": 0.1535,
                "crosses_accurate": 0.075,
                "touches": 45.0766,
                "possession_lost": 5.6335,
                "dispossessed": 0.2883,
                "duels_lost": 2.2204,
                "aerial_lost": 1.3482,
                "total_contest": 0.1927,
                "won_contest": 0.1051,
                "ball_recovery": 2.5613,
                "challenges_lost": 0.3026,
                "fouls": 0.6172,
                "fouls_drawn": 0.707,
                "blocks": 0.4001,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0231,
                "expected_assists": 0.0242,
                "shots_on_target": 0.0,
                "big_chances_created": 0.04,
                "xgot": 0.0,
                "ball_carries": 13.5623,
                "total_progression": 94.8709,
                "progressive_carries": 2.2279,
                "key_pass": 0.3402,
                "shots_off_target": 0.1872,
                "bench_appearance_probability": 0.305,
                "bench_expected_minutes": 13.71,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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
              },
              "params": {
                "appearance_probability": 0.305,
                "projected_substitutes": 3,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 13 by projected rating, fifa_overall 73.0)",
              "stats": {
                "interceptions": 0.3555,
                "tackles": 0.4201,
                "tackles_won": 0.2261,
                "clearances": 1.8811,
                "aerial_won": 0.642,
                "total_shots": 0.1872,
                "rating": 6.7258,
                "minutes": 13.71,
                "total_pass": 35.1863,
                "accurate_pass": 30.6534,
                "duels_won": 2.9976,
                "total_long_balls": 3.854,
                "accurate_long_balls": 1.8737,
                "total_own_half_passes": 22.275,
                "accurate_own_half_passes": 21.079,
                "total_opp_half_passes": 12.9112,
                "accurate_opp_half_passes": 9.5744,
                "crosses_total": 0.1535,
                "crosses_accurate": 0.075,
                "touches": 45.0766,
                "possession_lost": 5.6335,
                "dispossessed": 0.2883,
                "duels_lost": 2.2204,
                "aerial_lost": 1.3482,
                "total_contest": 0.1927,
                "won_contest": 0.1051,
                "ball_recovery": 2.5613,
                "challenges_lost": 0.3026,
                "fouls": 0.6172,
                "fouls_drawn": 0.707,
                "blocks": 0.4001,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0231,
                "expected_assists": 0.0242,
                "shots_on_target": 0.0,
                "big_chances_created": 0.04,
                "xgot": 0.0,
                "ball_carries": 13.5623,
                "total_progression": 94.8709,
                "progressive_carries": 2.2279,
                "key_pass": 0.3402,
                "shots_off_target": 0.1872,
                "bench_appearance_probability": 0.305,
                "bench_expected_minutes": 13.71,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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": 73.0
              },
              "params": {
                "match_squad_rank": 13,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 4033,
                "fifa_rank": 3454.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 73.0
              }
            }
          ]
        },
        "Carlos Álvarez": {
          "player_id": 1010656,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 10,
          "height": 168,
          "market_value": 15500000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0556,
            "assist_rate": 0.0887,
            "assists": 0,
            "expected_goals": 0.0549,
            "goal_rate": 0.0523,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 6.6952,
            "minutes": 23,
            "total_pass": 9,
            "accurate_pass": 7,
            "duels_won": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "total_opp_half_passes": 8,
            "accurate_opp_half_passes": 7,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 17,
            "possession_lost": 6.1074,
            "dispossessed": 0.1883,
            "duels_lost": 3,
            "aerial_won": 0,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 1,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0025,
            "ball_carries": 7,
            "total_progression": 19,
            "progressive_carries": 1,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.319,
            "bench_expected_minutes": 22.56,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.291,
            "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": 77.0
          },
          "latest_10_games": [
            {
              "match_id": 16421053,
              "match_date": "2026-08-16",
              "home_team": "Espanyol",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 45,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0141,
                "total_shots": 0,
                "total_pass": 14,
                "accurate_pass": 12,
                "key_pass": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083512,
              "match_date": "2026-05-02",
              "home_team": "Villarreal",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 30,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0117,
                "expected_assists": 0.0148,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 13,
                "accurate_pass": 11,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083221,
              "match_date": "2026-04-27",
              "home_team": "Espanyol",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 18,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0876,
                "expected_assists": 0.0736,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 11,
                "accurate_pass": 9,
                "key_pass": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083265,
              "match_date": "2026-04-23",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 27,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1043,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 4,
                "key_pass": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083182,
              "match_date": "2026-04-13",
              "home_team": "Levante UD",
              "away_team": "Getafe",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Getafe",
              "stats": {
                "minutes": 27,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0881,
                "total_shots": 0,
                "total_pass": 13,
                "accurate_pass": 10,
                "key_pass": 1,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14081793,
              "match_date": "2026-02-27",
              "home_team": "Levante UD",
              "away_team": "Deportivo Alavés",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Deportivo Alavés",
              "stats": {
                "minutes": 57,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.6398,
                "expected_assists": 0.0569,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 22,
                "accurate_pass": 21,
                "key_pass": 2,
                "tackles": 1,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083567,
              "match_date": "2026-02-22",
              "home_team": "FC Barcelona",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 84,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1293,
                "expected_assists": 0.0183,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 24,
                "accurate_pass": 20,
                "interceptions": 1,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 15398993,
              "match_date": "2026-02-18",
              "home_team": "Levante UD",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 16,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0826,
                "expected_assists": 0.1066,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 7,
                "accurate_pass": 7,
                "key_pass": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083396,
              "match_date": "2026-02-15",
              "home_team": "Levante UD",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Valencia",
              "stats": {
                "minutes": 69,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0143,
                "total_shots": 0,
                "total_pass": 21,
                "accurate_pass": 14,
                "key_pass": 1,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083260,
              "match_date": "2026-02-08",
              "home_team": "Athletic Club",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 45,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0073,
                "total_shots": 0,
                "total_pass": 17,
                "accurate_pass": 9,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 3111,
            "combined_rank_score": 1073.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 568.0,
            "sofascore_rating": 6.81,
            "sofascore_appearances": 30.0,
            "fifa_rank": 1579.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6952,
            "source_file": "data/player_rankings.csv",
            "player_name": "Carlos Álvarez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Leandro Barreiro",
                  "ranking": 3106
                },
                {
                  "player_name": "Mattias Svanberg",
                  "ranking": 3107
                },
                {
                  "player_name": "Zakaria El Ouahdi",
                  "ranking": 3108
                },
                {
                  "player_name": "Haris Tabaković",
                  "ranking": 3109
                },
                {
                  "player_name": "Guus Til",
                  "ranking": 3110
                }
              ],
              "lower": [
                {
                  "player_name": "Tsuyoshi Watanabe",
                  "ranking": 3112
                },
                {
                  "player_name": "Arnau Martínez",
                  "ranking": 3113
                },
                {
                  "player_name": "Ayase Ueda",
                  "ranking": 3114
                },
                {
                  "player_name": "Mika Godts",
                  "ranking": 3115
                },
                {
                  "player_name": "Youri Baas",
                  "ranking": 3116
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.755,
          "history_matches": 31,
          "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",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "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",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 31,
            "data_confidence": 0.755,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 22.555021941280785,
            "bench_appearance_prob": 0.319,
            "market_value_adjustment": 1.0033,
            "fbref_prior_metrics": {
              "squad": "Levante",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 1.0,
              "sub_appearances": 0.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0333
            },
            "rationale": "Bench projection scaled from XGBoost M_service (31 historical appearances) to 22.6 expected mins (appearance prob 0.32); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.7194,
                "expected_assists": 0.0518,
                "assists": 0.0829,
                "assist_rate": 0.0829,
                "expected_goals": 0.0511,
                "goals": 0.0488,
                "goal_rate": 0.0488,
                "shots_on_target": 0.215,
                "total_shots": 0.6748,
                "rating": 6.6952,
                "minutes": 21.08,
                "total_pass": 8.3924,
                "accurate_pass": 6.7008,
                "duels_won": 1.395,
                "total_long_balls": 0.7272,
                "accurate_long_balls": 0.5064,
                "total_own_half_passes": 1.0684,
                "accurate_own_half_passes": 0.6344,
                "total_opp_half_passes": 7.324,
                "accurate_opp_half_passes": 6.0663,
                "crosses_total": 1.683,
                "crosses_accurate": 0.2951,
                "touches": 16.169,
                "possession_lost": 5.6892,
                "dispossessed": 0.1877,
                "duels_lost": 2.4769,
                "aerial_won": 0.0,
                "aerial_lost": 0.8867,
                "interceptions": 0.0,
                "tackles_won": 0.2132,
                "tackles": 0.3112,
                "clearances": 0.1595,
                "total_contest": 0.8903,
                "won_contest": 0.1595,
                "challenges_lost": 0.3862,
                "fouls": 0.2856,
                "fouls_drawn": 0.9243,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0023,
                "ball_carries": 6.2607,
                "total_progression": 18.0008,
                "progressive_carries": 0.8729,
                "shots_off_target": 0.4598
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-08-16",
                    "opponent": "Espanyol",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.151,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-05-02",
                    "opponent": "Villarreal",
                    "minutes": 30.0,
                    "is_starting": true,
                    "weight": 0.1283,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-04-27",
                    "opponent": "Espanyol",
                    "minutes": 18.0,
                    "is_starting": false,
                    "weight": 0.1091,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-04-23",
                    "opponent": "Sevilla",
                    "minutes": 27.0,
                    "is_starting": false,
                    "weight": 0.0927,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-04-13",
                    "opponent": "Getafe",
                    "minutes": 27.0,
                    "is_starting": false,
                    "weight": 0.0788,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-02-27",
                    "opponent": "Deportivo Alavés",
                    "minutes": 57.0,
                    "is_starting": true,
                    "weight": 0.067,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-02-22",
                    "opponent": "FC Barcelona",
                    "minutes": 84.0,
                    "is_starting": true,
                    "weight": 0.0569,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-02-18",
                    "opponent": "Villarreal",
                    "minutes": 16.0,
                    "is_starting": false,
                    "weight": 0.0484,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-02-15",
                    "opponent": "Valencia",
                    "minutes": 69.0,
                    "is_starting": true,
                    "weight": 0.0411,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-02-08",
                    "opponent": "Athletic Club",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.035,
                    "rating": 6.3
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.8255,
                  "creative_index": 0.4628,
                  "expectedGoals": 0.0816,
                  "expectedAssists": 0.073,
                  "totalOppositionHalfPasses": 11.1463
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.7193536758422852,
                    "model_output": 0.7194,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3688
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0242
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0204
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0207
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": 0.02
                        }
                      ],
                      "others": 0.1126,
                      "total": 0.7194,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.534867
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.045358
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": 0.036621
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.035976
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": 0.033486
                        }
                      ],
                      "others_margin": 0.170251
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.05180307850241661,
                    "model_output": 0.0518,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0396
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0034
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0026
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.002
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.0019
                        }
                      ],
                      "others": 0.0006,
                      "total": 0.0518,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.628429
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.071418
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.051802
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.038881
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.037689
                        }
                      ],
                      "others_margin": 0.011875
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.0829155370593071,
                    "model_output": 0.0829,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0192
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0077
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0064
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0043
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0039
                        }
                      ],
                      "others": -0.0052,
                      "total": 0.0829,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.256275
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.110841
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.083562
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.052067
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.045518
                        }
                      ],
                      "others_margin": -0.060809
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.05112845078110695,
                    "model_output": 0.0511,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0414
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0053
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0012
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0011
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.001
                        }
                      ],
                      "others": -0.0009,
                      "total": 0.0511,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.603012
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.099959
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.022526
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": -0.020804
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.018477
                        }
                      ],
                      "others_margin": -0.016376
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.048795171082019806,
                    "model_output": 0.0488,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0409
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0063
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0031
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0022
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0019
                        }
                      ],
                      "others": -0.0062,
                      "total": 0.0488,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.563571
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.124266
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.06198
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.042125
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.035313
                        }
                      ],
                      "others_margin": -0.117673
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.21499097347259521,
                    "model_output": 0.215,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1428
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0157
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0079
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0064
                        },
                        {
                          "name": "wonTackle",
                          "contribution": 0.0046
                        }
                      ],
                      "others": 0.0177,
                      "total": 0.215,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.595108
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.085585
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.040653
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": -0.032607
                        },
                        {
                          "name": "wonTackle",
                          "margin": 0.023428
                        }
                      ],
                      "others_margin": 0.085661
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.6747485995292664,
                    "model_output": 0.6747,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4642
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0606
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0301
                        },
                        {
                          "name": "keyPass_p90",
                          "contribution": 0.0237
                        },
                        {
                          "name": "wonTackle",
                          "contribution": 0.0223
                        }
                      ],
                      "others": 0.0783,
                      "total": 0.6747,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.464235
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.060595
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.030119
                        },
                        {
                          "name": "keyPass_p90",
                          "margin": 0.02372
                        },
                        {
                          "name": "wonTackle",
                          "margin": 0.022327
                        }
                      ],
                      "others_margin": 0.078351
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.695156574249268,
                    "model_output": 6.6952,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0945
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0328
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0248
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0101
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0091
                        }
                      ],
                      "others": -0.0069,
                      "total": 6.6952,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.094493
                        },
                        {
                          "name": "rating",
                          "margin": -0.0328
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.024783
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.010128
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.009081
                        }
                      ],
                      "others_margin": -0.006917
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 31,
                  "role_matches": 7,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0033, quality 0.585)",
              "stats": {
                "key_pass": 0.7217,
                "expected_assists": 0.052,
                "assists": 0.0832,
                "assist_rate": 0.0832,
                "expected_goals": 0.0513,
                "goals": 0.049,
                "goal_rate": 0.049,
                "shots_on_target": 0.2157,
                "total_shots": 0.677,
                "rating": 6.6952,
                "minutes": 21.08,
                "total_pass": 8.4201,
                "accurate_pass": 6.7229,
                "duels_won": 1.3996,
                "total_long_balls": 0.7296,
                "accurate_long_balls": 0.5081,
                "total_own_half_passes": 1.0719,
                "accurate_own_half_passes": 0.6365,
                "total_opp_half_passes": 7.3482,
                "accurate_opp_half_passes": 6.0863,
                "crosses_total": 1.6886,
                "crosses_accurate": 0.2961,
                "touches": 16.2224,
                "possession_lost": 5.708,
                "dispossessed": 0.1883,
                "duels_lost": 2.4851,
                "aerial_won": 0.0,
                "aerial_lost": 0.8896,
                "interceptions": 0.0,
                "tackles_won": 0.2139,
                "tackles": 0.3122,
                "clearances": 0.16,
                "total_contest": 0.8932,
                "won_contest": 0.16,
                "challenges_lost": 0.3875,
                "fouls": 0.2865,
                "fouls_drawn": 0.9274,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0023,
                "ball_carries": 6.2814,
                "total_progression": 18.0602,
                "progressive_carries": 0.8758,
                "shots_off_target": 0.4613
              },
              "params": {
                "market_value_eur": 15500000,
                "quality_factor": 0.5846,
                "boost_factor": 1.0033,
                "reference_quality": 0.505,
                "history_matches": 31,
                "history_shrink": 0.1389,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0030)",
              "stats": {
                "key_pass": 0.7217,
                "expected_assists": 0.052,
                "assists": 0.0829,
                "assist_rate": 0.0829,
                "expected_goals": 0.0513,
                "goals": 0.0489,
                "goal_rate": 0.0489,
                "shots_on_target": 0.2151,
                "total_shots": 0.675,
                "rating": 6.6952,
                "minutes": 21.08,
                "total_pass": 8.4201,
                "accurate_pass": 6.7229,
                "duels_won": 1.3996,
                "total_long_balls": 0.7296,
                "accurate_long_balls": 0.5081,
                "total_own_half_passes": 1.0719,
                "accurate_own_half_passes": 0.6365,
                "total_opp_half_passes": 7.3482,
                "accurate_opp_half_passes": 6.0863,
                "crosses_total": 1.6835,
                "crosses_accurate": 0.2961,
                "touches": 16.2224,
                "possession_lost": 5.708,
                "dispossessed": 0.1883,
                "duels_lost": 2.4851,
                "aerial_won": 0.0,
                "aerial_lost": 0.8896,
                "interceptions": 0.0,
                "tackles_won": 0.2133,
                "tackles": 0.3122,
                "clearances": 0.16,
                "total_contest": 0.8932,
                "won_contest": 0.16,
                "challenges_lost": 0.3875,
                "fouls": 0.287,
                "fouls_drawn": 0.9274,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0023,
                "ball_carries": 6.2814,
                "total_progression": 18.0602,
                "progressive_carries": 0.8758,
                "shots_off_target": 0.4613
              },
              "params": {
                "blend_weight": 0.003,
                "history_matches": 31,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2342,
                "prior_reliability": 0.0333,
                "competition": "La Liga",
                "squad": "Levante"
              },
              "changes": [
                {
                  "stat": "totalCross",
                  "before": 1.6886,
                  "after": 1.6835
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 21.1 to 22.6 expected minutes (appearance prob 0.32)",
              "stats": {
                "key_pass": 0.7722,
                "expected_assists": 0.0556,
                "assists": 0.0887,
                "assist_rate": 0.0887,
                "expected_goals": 0.0549,
                "goals": 0.0523,
                "goal_rate": 0.0523,
                "shots_on_target": 0.2302,
                "total_shots": 0.7238,
                "rating": 6.6952,
                "minutes": 22.56,
                "total_pass": 9.0093,
                "accurate_pass": 7.1933,
                "duels_won": 1.4975,
                "total_long_balls": 0.7807,
                "accurate_long_balls": 0.5437,
                "total_own_half_passes": 1.1469,
                "accurate_own_half_passes": 0.681,
                "total_opp_half_passes": 7.8624,
                "accurate_opp_half_passes": 6.5122,
                "crosses_total": 1.8013,
                "crosses_accurate": 0.3168,
                "touches": 17.3575,
                "possession_lost": 6.1074,
                "dispossessed": 0.1883,
                "duels_lost": 2.659,
                "aerial_won": 0.0,
                "aerial_lost": 0.8896,
                "interceptions": 0.0,
                "tackles_won": 0.2282,
                "tackles": 0.334,
                "clearances": 0.1712,
                "total_contest": 0.9557,
                "won_contest": 0.1712,
                "challenges_lost": 0.3875,
                "fouls": 0.3071,
                "fouls_drawn": 0.9923,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0025,
                "ball_carries": 6.7209,
                "total_progression": 19.3239,
                "progressive_carries": 0.9371,
                "shots_off_target": 0.4936,
                "bench_appearance_probability": 0.319,
                "bench_expected_minutes": 22.56
              },
              "params": {
                "expected_minutes": 22.56,
                "projection_minutes": 21.08,
                "minutes_scale": 1.07,
                "appearance_probability": 0.319
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.7722,
                "expected_assists": 0.0556,
                "assists": 0.0887,
                "assist_rate": 0.0887,
                "expected_goals": 0.0549,
                "goals": 0.0523,
                "goal_rate": 0.0523,
                "shots_on_target": 0.2302,
                "total_shots": 0.7238,
                "rating": 6.6952,
                "minutes": 22.56,
                "total_pass": 9.0093,
                "accurate_pass": 7.1933,
                "duels_won": 1.4975,
                "total_long_balls": 0.7807,
                "accurate_long_balls": 0.5437,
                "total_own_half_passes": 1.1469,
                "accurate_own_half_passes": 0.681,
                "total_opp_half_passes": 7.8624,
                "accurate_opp_half_passes": 6.5122,
                "crosses_total": 1.8013,
                "crosses_accurate": 0.3168,
                "touches": 17.3575,
                "possession_lost": 6.1074,
                "dispossessed": 0.1883,
                "duels_lost": 2.659,
                "aerial_won": 0.0,
                "aerial_lost": 0.8896,
                "interceptions": 0.0,
                "tackles_won": 0.2282,
                "tackles": 0.334,
                "clearances": 0.1712,
                "total_contest": 0.9557,
                "won_contest": 0.1712,
                "challenges_lost": 0.3875,
                "fouls": 0.3071,
                "fouls_drawn": 0.9923,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0025,
                "ball_carries": 6.7209,
                "total_progression": 19.3239,
                "progressive_carries": 0.9371,
                "shots_off_target": 0.4936,
                "bench_appearance_probability": 0.319,
                "bench_expected_minutes": 22.56
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "not_projected_to_play",
              "description": "Not among the projected substitutes: no share of the team's goals or assists",
              "stats": {
                "key_pass": 0.7722,
                "expected_assists": 0.0556,
                "assist_rate": 0.0887,
                "assists": 0,
                "expected_goals": 0.0549,
                "goal_rate": 0.0523,
                "goals": 0,
                "shots_on_target": 0.2302,
                "total_shots": 0.7238,
                "rating": 6.6952,
                "minutes": 22.56,
                "total_pass": 9.0093,
                "accurate_pass": 7.1933,
                "duels_won": 1.4975,
                "total_long_balls": 0.7807,
                "accurate_long_balls": 0.5437,
                "total_own_half_passes": 1.1469,
                "accurate_own_half_passes": 0.681,
                "total_opp_half_passes": 7.8624,
                "accurate_opp_half_passes": 6.5122,
                "crosses_total": 1.8013,
                "crosses_accurate": 0.3168,
                "touches": 17.3575,
                "possession_lost": 6.1074,
                "dispossessed": 0.1883,
                "duels_lost": 2.659,
                "aerial_won": 0.0,
                "aerial_lost": 0.8896,
                "interceptions": 0.0,
                "tackles_won": 0.2282,
                "tackles": 0.334,
                "clearances": 0.1712,
                "total_contest": 0.9557,
                "won_contest": 0.1712,
                "challenges_lost": 0.3875,
                "fouls": 0.3071,
                "fouls_drawn": 0.9923,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0025,
                "ball_carries": 6.7209,
                "total_progression": 19.3239,
                "progressive_carries": 0.9371,
                "shots_off_target": 0.4936,
                "bench_appearance_probability": 0.319,
                "bench_expected_minutes": 22.56,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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
              },
              "params": {
                "appearance_probability": 0.319,
                "projected_substitutes": 3,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 14 by projected rating, fifa_overall 77.0)",
              "stats": {
                "key_pass": 0.7722,
                "expected_assists": 0.0556,
                "assist_rate": 0.0887,
                "assists": 0,
                "expected_goals": 0.0549,
                "goal_rate": 0.0523,
                "goals": 0,
                "shots_on_target": 0.2302,
                "total_shots": 0.7238,
                "rating": 6.6952,
                "minutes": 22.56,
                "total_pass": 9.0093,
                "accurate_pass": 7.1933,
                "duels_won": 1.4975,
                "total_long_balls": 0.7807,
                "accurate_long_balls": 0.5437,
                "total_own_half_passes": 1.1469,
                "accurate_own_half_passes": 0.681,
                "total_opp_half_passes": 7.8624,
                "accurate_opp_half_passes": 6.5122,
                "crosses_total": 1.8013,
                "crosses_accurate": 0.3168,
                "touches": 17.3575,
                "possession_lost": 6.1074,
                "dispossessed": 0.1883,
                "duels_lost": 2.659,
                "aerial_won": 0.0,
                "aerial_lost": 0.8896,
                "interceptions": 0.0,
                "tackles_won": 0.2282,
                "tackles": 0.334,
                "clearances": 0.1712,
                "total_contest": 0.9557,
                "won_contest": 0.1712,
                "challenges_lost": 0.3875,
                "fouls": 0.3071,
                "fouls_drawn": 0.9923,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0025,
                "ball_carries": 6.7209,
                "total_progression": 19.3239,
                "progressive_carries": 0.9371,
                "shots_off_target": 0.4936,
                "bench_appearance_probability": 0.319,
                "bench_expected_minutes": 22.56,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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": 77.0
              },
              "params": {
                "match_squad_rank": 14,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3111,
                "fifa_rank": 1579.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 77.0
              }
            }
          ]
        },
        "Enzo Bardeli": {
          "player_id": 996974,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 18,
          "height": 172,
          "market_value": 5800000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0268,
            "assist_rate": 0.0529,
            "assists": 0,
            "expected_goals": 0.0163,
            "goal_rate": 0.0295,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.6578,
            "minutes": 22,
            "total_pass": 14,
            "accurate_pass": 11,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 6,
            "accurate_own_half_passes": 6,
            "total_opp_half_passes": 8,
            "accurate_opp_half_passes": 6,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 21,
            "possession_lost": 5.5355,
            "dispossessed": 0.4367,
            "duels_lost": 2,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0027,
            "ball_carries": 6,
            "total_progression": 18,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.505,
            "bench_expected_minutes": 22.11,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.291,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.016,
            "projected_assists": 0,
            "assist_probability": 0.0261,
            "finishing_factor": 1.0365,
            "creation_factor": 1.1814,
            "fifa_overall": 73.0
          },
          "latest_10_games": [
            {
              "match_id": 16421070,
              "match_date": "2026-10-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 47,
                "rating": 6.4,
                "expected_goals": 0.1358,
                "expected_assists": 0.0067,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 19,
                "accurate_pass": 13,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416294,
              "match_date": "2026-09-20",
              "home_team": "Villarreal",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 72,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0052,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 14,
                "tackles": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416329,
              "match_date": "2026-09-13",
              "home_team": "Levante UD",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 31,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0501,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 4,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416320,
              "match_date": "2026-09-06",
              "home_team": "Málaga CF",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 77,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0658,
                "expected_assists": 0.1481,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 21,
                "accurate_pass": 16,
                "key_pass": 2,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 3,
                "duels_won": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416309,
              "match_date": "2026-08-29",
              "home_team": "Levante UD",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 65,
                "rating": 7.7,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.0193,
                "expected_assists": 0.1563,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 27,
                "accurate_pass": 25,
                "key_pass": 3,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416296,
              "match_date": "2026-08-24",
              "home_team": "Osasuna",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1452,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 20,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421053,
              "match_date": "2026-08-16",
              "home_team": "Espanyol",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 45,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0106,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 18,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 4002,
            "combined_rank_score": 1982.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 445.0,
            "sofascore_rating": 6.9,
            "sofascore_appearances": 3.0,
            "fifa_rank": 3520.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6578,
            "source_file": "data/player_rankings.csv",
            "player_name": "Enzo Bardeli",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Junior Sornoza",
                  "ranking": 3997
                },
                {
                  "player_name": "Tai Baribo",
                  "ranking": 3998
                },
                {
                  "player_name": "Claudio Echeverri",
                  "ranking": 3999
                },
                {
                  "player_name": "Turrientes",
                  "ranking": 4000
                },
                {
                  "player_name": "Agirrezabala",
                  "ranking": 4001
                }
              ],
              "lower": [
                {
                  "player_name": "Andrés García",
                  "ranking": 4003
                },
                {
                  "player_name": "Antoni Milambo",
                  "ranking": 4004
                },
                {
                  "player_name": "Loum Tchaouna",
                  "ranking": 4005
                },
                {
                  "player_name": "Marco Grüll",
                  "ranking": 4006
                },
                {
                  "player_name": "Soungoutou Magassa",
                  "ranking": 4007
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.688,
          "history_matches": 7,
          "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",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "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",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 7,
            "data_confidence": 0.688,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 22.109104686408813,
            "bench_appearance_prob": 0.5049593039276733,
            "market_value_adjustment": 0.9959,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost M_service (7 historical appearances) to 22.1 expected mins (appearance prob 0.50)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.4997,
                "expected_assists": 0.0476,
                "assists": 0.0678,
                "assist_rate": 0.0678,
                "expected_goals": 0.0342,
                "goals": 0.0379,
                "goal_rate": 0.0379,
                "shots_on_target": 0.1558,
                "total_shots": 0.3358,
                "rating": 6.6578,
                "minutes": 28.22,
                "total_pass": 18.3659,
                "accurate_pass": 14.6438,
                "duels_won": 1.7778,
                "total_long_balls": 0.4782,
                "accurate_long_balls": 0.3802,
                "total_own_half_passes": 7.8417,
                "accurate_own_half_passes": 7.053,
                "total_opp_half_passes": 10.5242,
                "accurate_opp_half_passes": 7.5908,
                "crosses_total": 1.987,
                "crosses_accurate": 0.5083,
                "touches": 26.937,
                "possession_lost": 7.0946,
                "dispossessed": 0.4385,
                "duels_lost": 2.4827,
                "aerial_won": 0.0,
                "aerial_lost": 0.4182,
                "interceptions": 0.787,
                "tackles_won": 0.6439,
                "tackles": 0.9671,
                "clearances": 0.2208,
                "total_contest": 0.4828,
                "won_contest": 0.3472,
                "challenges_lost": 0.8076,
                "fouls": 0.6829,
                "fouls_drawn": 0.4636,
                "blocks": 0.1877,
                "big_chances_created": 0.1257,
                "big_chances_missed": 0.0,
                "xgot": 0.0058,
                "ball_carries": 7.08,
                "total_progression": 22.6455,
                "progressive_carries": 0.5968,
                "shots_off_target": 0.18
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 47.0,
                    "is_starting": true,
                    "weight": 0.2208,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Villarreal",
                    "minutes": 72.0,
                    "is_starting": true,
                    "weight": 0.1877,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "FC Barcelona",
                    "minutes": 31.0,
                    "is_starting": false,
                    "weight": 0.1595,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Málaga CF",
                    "minutes": 77.0,
                    "is_starting": true,
                    "weight": 0.1356,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Real Betis",
                    "minutes": 65.0,
                    "is_starting": true,
                    "weight": 0.1152,
                    "rating": 7.7
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.098,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-16",
                    "opponent": "Espanyol",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.0833,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 7.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.4716,
                  "creative_index": 0.4271,
                  "expectedGoals": 0.0411,
                  "expectedAssists": 0.0636,
                  "totalOppositionHalfPasses": 10.5242
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.49973511695861816,
                    "model_output": 0.4997,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.386
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0262
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0183
                        },
                        {
                          "name": "creative_efficiency",
                          "contribution": 0.0146
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0142
                        }
                      ],
                      "others": -0.0129,
                      "total": 0.4997,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.568346
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.050626
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": -0.035084
                        },
                        {
                          "name": "creative_efficiency",
                          "margin": 0.028196
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.027336
                        }
                      ],
                      "others_margin": -0.025507
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.0475885234773159,
                    "model_output": 0.0476,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0389
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0048
                        },
                        {
                          "name": "goalAssist",
                          "contribution": 0.0018
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": 0.0018
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0018
                        }
                      ],
                      "others": -0.005,
                      "total": 0.0476,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.612453
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.099
                        },
                        {
                          "name": "goalAssist",
                          "margin": 0.034522
                        },
                        {
                          "name": "cross_creative_contribution",
                          "margin": 0.034311
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.033016
                        }
                      ],
                      "others_margin": -0.101749
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.06778132915496826,
                    "model_output": 0.0678,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0246
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0058
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0055
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": 0.0045
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.0042
                        }
                      ],
                      "others": -0.001,
                      "total": 0.0678,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.341572
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.101336
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.096008
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": 0.071808
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.063486
                        }
                      ],
                      "others_margin": -0.015026
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.03421714901924133,
                    "model_output": 0.0342,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0416
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0076
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0042
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0038
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0024
                        }
                      ],
                      "others": 0.0024,
                      "total": 0.0342,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.607533
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.165856
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.104738
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.104209
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.071795
                        }
                      ],
                      "others_margin": 0.071281
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.037875570356845856,
                    "model_output": 0.0379,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0333
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0123
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.004
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0023
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0018
                        }
                      ],
                      "others": -0.0034,
                      "total": 0.0379,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.431513
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.222068
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.084415
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.051414
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.041719
                        }
                      ],
                      "others_margin": -0.088291
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.15584345161914825,
                    "model_output": 0.1558,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1231
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0465
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0146
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0104
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0073
                        }
                      ],
                      "others": 0.0102,
                      "total": 0.1558,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.489012
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.271779
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.093936
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.065815
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.049068
                        }
                      ],
                      "others_margin": 0.067606
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.33582496643066406,
                    "model_output": 0.3358,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3812
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.2135
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0445
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0154
                        },
                        {
                          "name": "totalPass",
                          "contribution": 0.0148
                        }
                      ],
                      "others": -0.0393,
                      "total": 0.3358,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.381184
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.213468
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.044455
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.015422
                        },
                        {
                          "name": "totalPass",
                          "margin": 0.014815
                        }
                      ],
                      "others_margin": -0.039414
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.657797813415527,
                    "model_output": 6.6578,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0685
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0347
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0282
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0181
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0101
                        }
                      ],
                      "others": -0.0378,
                      "total": 6.6578,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.068481
                        },
                        {
                          "name": "rating",
                          "margin": -0.034702
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.02822
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.018067
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.010062
                        }
                      ],
                      "others_margin": -0.037865
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 7,
                  "role_matches": 2,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "all_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9959, quality 0.472)",
              "stats": {
                "key_pass": 0.4977,
                "expected_assists": 0.0474,
                "assists": 0.0675,
                "assist_rate": 0.0675,
                "expected_goals": 0.0341,
                "goals": 0.0377,
                "goal_rate": 0.0377,
                "shots_on_target": 0.1552,
                "total_shots": 0.3345,
                "rating": 6.6578,
                "minutes": 28.22,
                "total_pass": 18.2906,
                "accurate_pass": 14.5838,
                "duels_won": 1.7705,
                "total_long_balls": 0.4762,
                "accurate_long_balls": 0.3786,
                "total_own_half_passes": 7.8095,
                "accurate_own_half_passes": 7.0241,
                "total_opp_half_passes": 10.4811,
                "accurate_opp_half_passes": 7.5597,
                "crosses_total": 1.9789,
                "crosses_accurate": 0.5062,
                "touches": 26.8266,
                "possession_lost": 7.0655,
                "dispossessed": 0.4367,
                "duels_lost": 2.4725,
                "aerial_won": 0.0,
                "aerial_lost": 0.4165,
                "interceptions": 0.7838,
                "tackles_won": 0.6413,
                "tackles": 0.9631,
                "clearances": 0.2199,
                "total_contest": 0.4808,
                "won_contest": 0.3458,
                "challenges_lost": 0.8043,
                "fouls": 0.6801,
                "fouls_drawn": 0.4617,
                "blocks": 0.1869,
                "big_chances_created": 0.1252,
                "big_chances_missed": 0.0,
                "xgot": 0.0058,
                "ball_carries": 7.051,
                "total_progression": 22.5527,
                "progressive_carries": 0.5944,
                "shots_off_target": 0.1793
              },
              "params": {
                "market_value_eur": 5800000,
                "quality_factor": 0.472,
                "boost_factor": 0.9959,
                "reference_quality": 0.505,
                "history_matches": 7,
                "history_shrink": 0.4167,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 28.2 to 22.1 expected minutes (appearance prob 0.50)",
              "stats": {
                "key_pass": 0.3899,
                "expected_assists": 0.0371,
                "assists": 0.0529,
                "assist_rate": 0.0529,
                "expected_goals": 0.0267,
                "goals": 0.0295,
                "goal_rate": 0.0295,
                "shots_on_target": 0.1216,
                "total_shots": 0.2621,
                "rating": 6.6578,
                "minutes": 22.11,
                "total_pass": 14.3299,
                "accurate_pass": 11.4258,
                "duels_won": 1.3871,
                "total_long_balls": 0.3731,
                "accurate_long_balls": 0.2966,
                "total_own_half_passes": 6.1184,
                "accurate_own_half_passes": 5.5031,
                "total_opp_half_passes": 8.2115,
                "accurate_opp_half_passes": 5.9227,
                "crosses_total": 1.5504,
                "crosses_accurate": 0.3966,
                "touches": 21.0174,
                "possession_lost": 5.5355,
                "dispossessed": 0.4367,
                "duels_lost": 1.9371,
                "aerial_won": 0.0,
                "aerial_lost": 0.4165,
                "interceptions": 0.6141,
                "tackles_won": 0.5024,
                "tackles": 0.7545,
                "clearances": 0.1723,
                "total_contest": 0.3767,
                "won_contest": 0.2709,
                "challenges_lost": 0.8043,
                "fouls": 0.5328,
                "fouls_drawn": 0.3617,
                "blocks": 0.1464,
                "big_chances_created": 0.0981,
                "big_chances_missed": 0.0,
                "xgot": 0.0045,
                "ball_carries": 5.5241,
                "total_progression": 17.669,
                "progressive_carries": 0.4657,
                "shots_off_target": 0.1405,
                "bench_appearance_probability": 0.505,
                "bench_expected_minutes": 22.11
              },
              "params": {
                "expected_minutes": 22.11,
                "projection_minutes": 28.22,
                "minutes_scale": 0.7835,
                "appearance_probability": 0.505
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.3899,
                "expected_assists": 0.0371,
                "assists": 0.0529,
                "assist_rate": 0.0529,
                "expected_goals": 0.0267,
                "goals": 0.0295,
                "goal_rate": 0.0295,
                "shots_on_target": 0.1216,
                "total_shots": 0.2621,
                "rating": 6.6578,
                "minutes": 22.11,
                "total_pass": 14.3299,
                "accurate_pass": 11.4258,
                "duels_won": 1.3871,
                "total_long_balls": 0.3731,
                "accurate_long_balls": 0.2966,
                "total_own_half_passes": 6.1184,
                "accurate_own_half_passes": 5.5031,
                "total_opp_half_passes": 8.2115,
                "accurate_opp_half_passes": 5.9227,
                "crosses_total": 1.5504,
                "crosses_accurate": 0.3966,
                "touches": 21.0174,
                "possession_lost": 5.5355,
                "dispossessed": 0.4367,
                "duels_lost": 1.9371,
                "aerial_won": 0.0,
                "aerial_lost": 0.4165,
                "interceptions": 0.6141,
                "tackles_won": 0.5024,
                "tackles": 0.7545,
                "clearances": 0.1723,
                "total_contest": 0.3767,
                "won_contest": 0.2709,
                "challenges_lost": 0.8043,
                "fouls": 0.5328,
                "fouls_drawn": 0.3617,
                "blocks": 0.1464,
                "big_chances_created": 0.0981,
                "big_chances_missed": 0.0,
                "xgot": 0.0045,
                "ball_carries": 5.5241,
                "total_progression": 17.669,
                "progressive_carries": 0.4657,
                "shots_off_target": 0.1405,
                "bench_appearance_probability": 0.505,
                "bench_expected_minutes": 22.11
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 0.3899,
                "expected_assists": 0.0371,
                "assist_rate": 0.0529,
                "assists": 0,
                "expected_goals": 0.0267,
                "goal_rate": 0.0295,
                "goals": 0,
                "shots_on_target": 0.1216,
                "total_shots": 0.2621,
                "rating": 6.6578,
                "minutes": 22.11,
                "total_pass": 14.3299,
                "accurate_pass": 11.4258,
                "duels_won": 1.3871,
                "total_long_balls": 0.3731,
                "accurate_long_balls": 0.2966,
                "total_own_half_passes": 6.1184,
                "accurate_own_half_passes": 5.5031,
                "total_opp_half_passes": 8.2115,
                "accurate_opp_half_passes": 5.9227,
                "crosses_total": 1.5504,
                "crosses_accurate": 0.3966,
                "touches": 21.0174,
                "possession_lost": 5.5355,
                "dispossessed": 0.4367,
                "duels_lost": 1.9371,
                "aerial_won": 0.0,
                "aerial_lost": 0.4165,
                "interceptions": 0.6141,
                "tackles_won": 0.5024,
                "tackles": 0.7545,
                "clearances": 0.1723,
                "total_contest": 0.3767,
                "won_contest": 0.2709,
                "challenges_lost": 0.8043,
                "fouls": 0.5328,
                "fouls_drawn": 0.3617,
                "blocks": 0.1464,
                "big_chances_created": 0.0981,
                "big_chances_missed": 0.0,
                "xgot": 0.0045,
                "ball_carries": 5.5241,
                "total_progression": 17.669,
                "progressive_carries": 0.4657,
                "shots_off_target": 0.1405,
                "bench_appearance_probability": 0.505,
                "bench_expected_minutes": 22.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.19 (squad xG sum 0.9866, xG scale 1.2071, xA scale 1.4295, team xA 0.77 = 0.65 x lambda)",
              "stats": {
                "key_pass": 0.3899,
                "expected_assists": 0.0268,
                "assist_rate": 0.0529,
                "assists": 0,
                "expected_goals": 0.0163,
                "goal_rate": 0.0295,
                "goals": 0,
                "shots_on_target": 0.1216,
                "total_shots": 0.2621,
                "rating": 6.6578,
                "minutes": 22.11,
                "total_pass": 14.3299,
                "accurate_pass": 11.4258,
                "duels_won": 1.3871,
                "total_long_balls": 0.3731,
                "accurate_long_balls": 0.2966,
                "total_own_half_passes": 6.1184,
                "accurate_own_half_passes": 5.5031,
                "total_opp_half_passes": 8.2115,
                "accurate_opp_half_passes": 5.9227,
                "crosses_total": 1.5504,
                "crosses_accurate": 0.3966,
                "touches": 21.0174,
                "possession_lost": 5.5355,
                "dispossessed": 0.4367,
                "duels_lost": 1.9371,
                "aerial_won": 0.0,
                "aerial_lost": 0.4165,
                "interceptions": 0.6141,
                "tackles_won": 0.5024,
                "tackles": 0.7545,
                "clearances": 0.1723,
                "total_contest": 0.3767,
                "won_contest": 0.2709,
                "challenges_lost": 0.8043,
                "fouls": 0.5328,
                "fouls_drawn": 0.3617,
                "blocks": 0.1464,
                "big_chances_created": 0.0981,
                "big_chances_missed": 0.0,
                "xgot": 0.0027,
                "ball_carries": 5.5241,
                "total_progression": 17.669,
                "progressive_carries": 0.4657,
                "shots_off_target": 0.1405,
                "bench_appearance_probability": 0.505,
                "bench_expected_minutes": 22.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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,
                "finishing_factor": 1.0365,
                "creation_factor": 1.1814
              },
              "params": {
                "team_lambda": 1.191,
                "squad_xg_sum": 0.9866,
                "squad_xa_sum": 0.5416,
                "team_expected_assists": 0.7742,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.2071,
                "xa_scale": 1.4295,
                "opponent_lambda": 2.266,
                "scoreline_reset": true,
                "appearance_weight": 0.505
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0267,
                  "after": 0.0163
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0371,
                  "after": 0.0268
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 15 by projected rating, fifa_overall 73.0)",
              "stats": {
                "key_pass": 0.3899,
                "expected_assists": 0.0268,
                "assist_rate": 0.0529,
                "assists": 0,
                "expected_goals": 0.0163,
                "goal_rate": 0.0295,
                "goals": 0,
                "shots_on_target": 0.1216,
                "total_shots": 0.2621,
                "rating": 6.6578,
                "minutes": 22.11,
                "total_pass": 14.3299,
                "accurate_pass": 11.4258,
                "duels_won": 1.3871,
                "total_long_balls": 0.3731,
                "accurate_long_balls": 0.2966,
                "total_own_half_passes": 6.1184,
                "accurate_own_half_passes": 5.5031,
                "total_opp_half_passes": 8.2115,
                "accurate_opp_half_passes": 5.9227,
                "crosses_total": 1.5504,
                "crosses_accurate": 0.3966,
                "touches": 21.0174,
                "possession_lost": 5.5355,
                "dispossessed": 0.4367,
                "duels_lost": 1.9371,
                "aerial_won": 0.0,
                "aerial_lost": 0.4165,
                "interceptions": 0.6141,
                "tackles_won": 0.5024,
                "tackles": 0.7545,
                "clearances": 0.1723,
                "total_contest": 0.3767,
                "won_contest": 0.2709,
                "challenges_lost": 0.8043,
                "fouls": 0.5328,
                "fouls_drawn": 0.3617,
                "blocks": 0.1464,
                "big_chances_created": 0.0981,
                "big_chances_missed": 0.0,
                "xgot": 0.0027,
                "ball_carries": 5.5241,
                "total_progression": 17.669,
                "progressive_carries": 0.4657,
                "shots_off_target": 0.1405,
                "bench_appearance_probability": 0.505,
                "bench_expected_minutes": 22.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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,
                "finishing_factor": 1.0365,
                "creation_factor": 1.1814,
                "fifa_overall": 73.0
              },
              "params": {
                "match_squad_rank": 15,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 4002,
                "fifa_rank": 3520.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 73.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 0.3899,
                "expected_assists": 0.0268,
                "assist_rate": 0.0529,
                "assists": 0,
                "expected_goals": 0.0163,
                "goal_rate": 0.0295,
                "goals": 0,
                "shots_on_target": 0.1216,
                "total_shots": 0.2621,
                "rating": 6.6578,
                "minutes": 22.11,
                "total_pass": 14.3299,
                "accurate_pass": 11.4258,
                "duels_won": 1.3871,
                "total_long_balls": 0.3731,
                "accurate_long_balls": 0.2966,
                "total_own_half_passes": 6.1184,
                "accurate_own_half_passes": 5.5031,
                "total_opp_half_passes": 8.2115,
                "accurate_opp_half_passes": 5.9227,
                "crosses_total": 1.5504,
                "crosses_accurate": 0.3966,
                "touches": 21.0174,
                "possession_lost": 5.5355,
                "dispossessed": 0.4367,
                "duels_lost": 1.9371,
                "aerial_won": 0.0,
                "aerial_lost": 0.4165,
                "interceptions": 0.6141,
                "tackles_won": 0.5024,
                "tackles": 0.7545,
                "clearances": 0.1723,
                "total_contest": 0.3767,
                "won_contest": 0.2709,
                "challenges_lost": 0.8043,
                "fouls": 0.5328,
                "fouls_drawn": 0.3617,
                "blocks": 0.1464,
                "big_chances_created": 0.0981,
                "big_chances_missed": 0.0,
                "xgot": 0.0027,
                "ball_carries": 5.5241,
                "total_progression": 17.669,
                "progressive_carries": 0.4657,
                "shots_off_target": 0.1405,
                "bench_appearance_probability": 0.505,
                "bench_expected_minutes": 22.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.016,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0365,
                "creation_factor": 1.1814,
                "fifa_overall": 73.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.016,
                "goal_rate": 0.0295,
                "scorer_weight": 0.0169,
                "squad_weight_total": 1.3229,
                "weight_share": 0.0128,
                "finishing_factor": 1.0365,
                "appearance_weight": 0.505,
                "weight_rank": 11,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Roger Brugué",
                    "weight": 0.315,
                    "already": 0,
                    "effective_weight": 0.315,
                    "runner_up": "Iván Romero",
                    "runner_up_effective_weight": 0.2553
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.3899,
                "expected_assists": 0.0268,
                "assist_rate": 0.0529,
                "assists": 0,
                "expected_goals": 0.0163,
                "goal_rate": 0.0295,
                "goals": 0,
                "shots_on_target": 0.1216,
                "total_shots": 0.2621,
                "rating": 6.6578,
                "minutes": 22.11,
                "total_pass": 14.3299,
                "accurate_pass": 11.4258,
                "duels_won": 1.3871,
                "total_long_balls": 0.3731,
                "accurate_long_balls": 0.2966,
                "total_own_half_passes": 6.1184,
                "accurate_own_half_passes": 5.5031,
                "total_opp_half_passes": 8.2115,
                "accurate_opp_half_passes": 5.9227,
                "crosses_total": 1.5504,
                "crosses_accurate": 0.3966,
                "touches": 21.0174,
                "possession_lost": 5.5355,
                "dispossessed": 0.4367,
                "duels_lost": 1.9371,
                "aerial_won": 0.0,
                "aerial_lost": 0.4165,
                "interceptions": 0.6141,
                "tackles_won": 0.5024,
                "tackles": 0.7545,
                "clearances": 0.1723,
                "total_contest": 0.3767,
                "won_contest": 0.2709,
                "challenges_lost": 0.8043,
                "fouls": 0.5328,
                "fouls_drawn": 0.3617,
                "blocks": 0.1464,
                "big_chances_created": 0.0981,
                "big_chances_missed": 0.0,
                "xgot": 0.0027,
                "ball_carries": 5.5241,
                "total_progression": 17.669,
                "progressive_carries": 0.4657,
                "shots_off_target": 0.1405,
                "bench_appearance_probability": 0.505,
                "bench_expected_minutes": 22.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.016,
                "projected_assists": 0,
                "assist_probability": 0.0261,
                "finishing_factor": 1.0365,
                "creation_factor": 1.1814,
                "fifa_overall": 73.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0261,
                "assist_rate": 0.0529,
                "provider_weight": 0.0317,
                "squad_weight_total": 0.7982,
                "weight_share": 0.0397,
                "creation_factor": 1.1814,
                "appearance_weight": 0.505,
                "weight_rank": 9,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Thiago Fernández",
                    "weight": 0.1951,
                    "already": 0,
                    "effective_weight": 0.1951,
                    "runner_up": "Jon Ander Olasagasti",
                    "runner_up_effective_weight": 0.1554,
                    "blocked_own_goal": [
                      "Roger Brugué"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Etta Eyong": {
          "player_id": 1393673,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 21,
          "height": 181,
          "market_value": 15600000,
          "stats": {
            "expected_goals": 0.1328,
            "goal_rate": 0.2047,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0304,
            "key_pass": 0,
            "rating": 6.6062,
            "minutes": 26,
            "total_pass": 5,
            "accurate_pass": 3,
            "duels_won": 2,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 4,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 12,
            "possession_lost": 4.7997,
            "dispossessed": 0.4797,
            "duels_lost": 4,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 1,
            "assist_rate": 0.1783,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.2514,
            "offsides": 0,
            "ball_carries": 2,
            "total_progression": 4,
            "progressive_carries": 0,
            "shots_off_target": 1,
            "bench_appearance_probability": 0.585,
            "bench_expected_minutes": 25.88,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.291,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.1188,
            "projected_assists": 0,
            "assist_probability": 0.0296,
            "finishing_factor": 1.0702,
            "creation_factor": 1.25,
            "fifa_overall": 75.0
          },
          "latest_10_games": [
            {
              "match_id": 16421086,
              "match_date": "2026-10-25",
              "home_team": "Real Sociedad",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 28,
                "rating": 6.3,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2375,
                "expected_assists": 0.0001,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 2,
                "accurate_pass": 1,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 3,
                "ball_recovery": 0,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 17122851,
              "match_date": "2026-10-21",
              "home_team": "Levante UD",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 18,
                "rating": 6.9,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.9511,
                "expected_assists": 0.0021,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 4,
                "accurate_pass": 1,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 0,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416309,
              "match_date": "2026-08-29",
              "home_team": "Levante UD",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 18,
                "rating": 7.5,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.0434,
                "expected_assists": 0.2699,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 6,
                "accurate_pass": 3,
                "key_pass": 1,
                "tackles": 1,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416296,
              "match_date": "2026-08-24",
              "home_team": "Osasuna",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "total_shots": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421053,
              "match_date": "2026-08-16",
              "home_team": "Espanyol",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 45,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0529,
                "expected_assists": 0.0044,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 4,
                "accurate_pass": 3,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083710,
              "match_date": "2026-05-23",
              "home_team": "Real Betis",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 9,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0109,
                "expected_assists": 0.0111,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 2,
                "accurate_pass": 1,
                "key_pass": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083676,
              "match_date": "2026-05-17",
              "home_team": "Levante UD",
              "away_team": "Mallorca",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Mallorca",
              "stats": {
                "minutes": 8,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0568,
                "expected_assists": 0.002,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 4,
                "accurate_pass": 3,
                "interceptions": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083568,
              "match_date": "2026-05-08",
              "home_team": "Levante UD",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 14,
                "rating": 7.8,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.5614,
                "expected_assists": 0.0475,
                "total_shots": 4,
                "shots_on_target": 4,
                "total_pass": 5,
                "accurate_pass": 5,
                "key_pass": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083512,
              "match_date": "2026-05-02",
              "home_team": "Villarreal",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 22,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.033,
                "expected_assists": 0.0205,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 6,
                "accurate_pass": 4,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083221,
              "match_date": "2026-04-27",
              "home_team": "Espanyol",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 18,
                "rating": 6.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.7639,
                "expected_assists": 0.0001,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 4,
                "accurate_pass": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 3474,
            "combined_rank_score": 1464.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 511.0,
            "sofascore_rating": 6.85,
            "sofascore_appearances": 3.0,
            "fifa_rank": 2418.0,
            "fifa_overall": 75.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6062,
            "source_file": "data/player_rankings.csv",
            "player_name": "Etta Eyong",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Nabil Bentaleb",
                  "ranking": 3469
                },
                {
                  "player_name": "Ludovic Ajorque",
                  "ranking": 3470
                },
                {
                  "player_name": "Jonathan Gradit",
                  "ranking": 3471
                },
                {
                  "player_name": "Ruben Aguilar",
                  "ranking": 3472
                },
                {
                  "player_name": "Arnaut Danjuma",
                  "ranking": 3473
                }
              ],
              "lower": [
                {
                  "player_name": "Thilo Kehrer",
                  "ranking": 3475
                },
                {
                  "player_name": "Takumi Minamino",
                  "ranking": 3476
                },
                {
                  "player_name": "Dani Cárdenas",
                  "ranking": 3477
                },
                {
                  "player_name": "Pierre Lees-Melou",
                  "ranking": 3478
                },
                {
                  "player_name": "Marc Aguado",
                  "ranking": 3479
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 38,
          "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",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "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",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 38,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 25.879293251195485,
            "bench_appearance_prob": 0.5854224205088857,
            "market_value_adjustment": 1.0028,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (38 historical appearances) to 25.9 expected mins (appearance prob 0.59)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.1358,
                "goals": 0.1479,
                "goal_rate": 0.1479,
                "shots_on_target": 0.3379,
                "total_shots": 0.7758,
                "expected_assists": 0.0262,
                "key_pass": 0.2704,
                "rating": 6.6062,
                "minutes": 18.75,
                "total_pass": 3.3334,
                "accurate_pass": 1.8776,
                "duels_won": 1.7171,
                "total_long_balls": 0.0938,
                "accurate_long_balls": 0.0749,
                "total_opp_half_passes": 2.5716,
                "accurate_opp_half_passes": 1.4488,
                "crosses_total": 0.2947,
                "crosses_accurate": 0.1127,
                "touches": 8.4365,
                "possession_lost": 3.4678,
                "dispossessed": 0.4784,
                "duels_lost": 2.6525,
                "aerial_lost": 1.0386,
                "total_contest": 0.221,
                "won_contest": 0.0672,
                "ball_recovery": 0.5087,
                "challenges_lost": 0.093,
                "fouls": 0.8886,
                "fouls_drawn": 0.7044,
                "assists": 0.1288,
                "assist_rate": 0.1288,
                "interceptions": 0.1014,
                "tackles_won": 0.0071,
                "tackles": 0.1437,
                "clearances": 0.0493,
                "blocks": 0.0222,
                "big_chances_created": 0.1299,
                "big_chances_missed": 0.3155,
                "xgot": 0.2572,
                "offsides": 0.0116,
                "ball_carries": 1.427,
                "total_progression": 3.2301,
                "progressive_carries": 0.0189,
                "shots_off_target": 0.4379
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Real Sociedad",
                    "minutes": 28.0,
                    "is_starting": false,
                    "weight": 0.1503,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-10-21",
                    "opponent": "Athletic Club",
                    "minutes": 18.0,
                    "is_starting": false,
                    "weight": 0.1278,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Real Betis",
                    "minutes": 18.0,
                    "is_starting": false,
                    "weight": 0.1086,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Osasuna",
                    "minutes": 1.0,
                    "is_starting": false,
                    "weight": 0.0923,
                    "rating": 0.0
                  },
                  {
                    "match_date": "2026-08-16",
                    "opponent": "Espanyol",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.0785,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-05-23",
                    "opponent": "Real Betis",
                    "minutes": 9.0,
                    "is_starting": false,
                    "weight": 0.0667,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Mallorca",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 0.0567,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-05-08",
                    "opponent": "Osasuna",
                    "minutes": 14.0,
                    "is_starting": false,
                    "weight": 0.0482,
                    "rating": 7.8
                  },
                  {
                    "match_date": "2026-05-02",
                    "opponent": "Villarreal",
                    "minutes": 22.0,
                    "is_starting": false,
                    "weight": 0.041,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-04-27",
                    "opponent": "Espanyol",
                    "minutes": 18.0,
                    "is_starting": false,
                    "weight": 0.0348,
                    "rating": 6.1
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "expectedGoals": 0.2377,
                  "accuratePass": 2.1981,
                  "totalOppositionHalfPasses": 2.8315,
                  "accurateOppositionHalfPasses": 1.6048,
                  "totalShots": 0.989
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.13579843938350677,
                    "model_output": 0.1358,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0854
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0153
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": 0.0115
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0054
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0046
                        }
                      ],
                      "others": -0.0007,
                      "total": 0.1358,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.572155
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.129871
                        },
                        {
                          "name": "pass_accuracy",
                          "margin": 0.087155
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.039784
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.034127
                        }
                      ],
                      "others_margin": -0.005838
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.14790357649326324,
                    "model_output": 0.1479,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0897
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0111
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": 0.009
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0066
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.005
                        }
                      ],
                      "others": 0.0286,
                      "total": 0.1479,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.592973
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.095353
                        },
                        {
                          "name": "pass_accuracy",
                          "margin": 0.07148
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.051969
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": -0.041125
                        }
                      ],
                      "others_margin": 0.215098
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.33790138363838196,
                    "model_output": 0.3379,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2127
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0172
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0167
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": 0.0172
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.016
                        }
                      ],
                      "others": -0.0143,
                      "total": 0.3379,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.510295
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.055492
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.053811
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": 0.052468
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.046416
                        }
                      ],
                      "others_margin": -0.041135
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.7757834792137146,
                    "model_output": 0.7758,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.5226
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.091
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": 0.0528
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0263
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": 0.0253
                        }
                      ],
                      "others": -0.0426,
                      "total": 0.7758,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.522639
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.090983
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": 0.052751
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.026341
                        },
                        {
                          "name": "totalShots_p90",
                          "margin": 0.025346
                        }
                      ],
                      "others_margin": -0.042501
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.02620590850710869,
                    "model_output": 0.0262,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0185
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0095
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.0032
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0031
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0029
                        }
                      ],
                      "others": -0.0071,
                      "total": 0.0262,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.340293
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.233907
                        },
                        {
                          "name": "keyPass",
                          "margin": -0.09367
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.090902
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.082205
                        }
                      ],
                      "others_margin": -0.238524
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.2703549861907959,
                    "model_output": 0.2704,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2654
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0409
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0296
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0179
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0141
                        }
                      ],
                      "others": -0.0484,
                      "total": 0.2704,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.488512
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.102045
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.081067
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": -0.052441
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.043143
                        }
                      ],
                      "others_margin": -0.165008
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.606225967407227,
                    "model_output": 6.6062,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0598
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.026
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0155
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": 0.0121
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0121
                        }
                      ],
                      "others": -0.0633,
                      "total": 6.6062,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.059814
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.025974
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.015453
                        },
                        {
                          "name": "pass_accuracy",
                          "margin": 0.01208
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.01207
                        }
                      ],
                      "others_margin": -0.063389
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 38,
                  "role_matches": 20,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0028, quality 0.586)",
              "stats": {
                "expected_goals": 0.1362,
                "goals": 0.1483,
                "goal_rate": 0.1483,
                "shots_on_target": 0.3388,
                "total_shots": 0.778,
                "expected_assists": 0.0263,
                "key_pass": 0.2711,
                "rating": 6.6062,
                "minutes": 18.75,
                "total_pass": 3.3427,
                "accurate_pass": 1.8829,
                "duels_won": 1.7219,
                "total_long_balls": 0.0941,
                "accurate_long_balls": 0.0751,
                "total_opp_half_passes": 2.5788,
                "accurate_opp_half_passes": 1.4529,
                "crosses_total": 0.2955,
                "crosses_accurate": 0.113,
                "touches": 8.4601,
                "possession_lost": 3.4775,
                "dispossessed": 0.4797,
                "duels_lost": 2.6599,
                "aerial_lost": 1.0415,
                "total_contest": 0.2216,
                "won_contest": 0.0674,
                "ball_recovery": 0.5101,
                "challenges_lost": 0.0933,
                "fouls": 0.8911,
                "fouls_drawn": 0.7064,
                "assists": 0.1292,
                "assist_rate": 0.1292,
                "interceptions": 0.1017,
                "tackles_won": 0.0071,
                "tackles": 0.1441,
                "clearances": 0.0494,
                "blocks": 0.0223,
                "big_chances_created": 0.1303,
                "big_chances_missed": 0.3164,
                "xgot": 0.2579,
                "offsides": 0.0116,
                "ball_carries": 1.431,
                "total_progression": 3.2391,
                "progressive_carries": 0.019,
                "shots_off_target": 0.4391
              },
              "params": {
                "market_value_eur": 15600000,
                "quality_factor": 0.5857,
                "boost_factor": 1.0028,
                "reference_quality": 0.505,
                "history_matches": 38,
                "history_shrink": 0.1163,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 18.8 to 25.9 expected minutes (appearance prob 0.59)",
              "stats": {
                "expected_goals": 0.188,
                "goals": 0.2047,
                "goal_rate": 0.2047,
                "shots_on_target": 0.4676,
                "total_shots": 1.0738,
                "expected_assists": 0.0363,
                "key_pass": 0.3742,
                "rating": 6.6062,
                "minutes": 25.88,
                "total_pass": 4.6137,
                "accurate_pass": 2.5988,
                "duels_won": 2.3766,
                "total_long_balls": 0.1299,
                "accurate_long_balls": 0.1037,
                "total_opp_half_passes": 3.5593,
                "accurate_opp_half_passes": 2.0053,
                "crosses_total": 0.4079,
                "crosses_accurate": 0.156,
                "touches": 11.6769,
                "possession_lost": 4.7997,
                "dispossessed": 0.4797,
                "duels_lost": 3.6713,
                "aerial_lost": 1.0415,
                "total_contest": 0.3059,
                "won_contest": 0.093,
                "ball_recovery": 0.7041,
                "challenges_lost": 0.0933,
                "fouls": 1.2299,
                "fouls_drawn": 0.975,
                "assists": 0.1783,
                "assist_rate": 0.1783,
                "interceptions": 0.1404,
                "tackles_won": 0.0098,
                "tackles": 0.1989,
                "clearances": 0.0682,
                "blocks": 0.0308,
                "big_chances_created": 0.1798,
                "big_chances_missed": 0.4367,
                "xgot": 0.356,
                "offsides": 0.0116,
                "ball_carries": 1.9751,
                "total_progression": 4.4707,
                "progressive_carries": 0.0262,
                "shots_off_target": 0.6061,
                "bench_appearance_probability": 0.585,
                "bench_expected_minutes": 25.88
              },
              "params": {
                "expected_minutes": 25.88,
                "projection_minutes": 18.75,
                "minutes_scale": 1.3802,
                "appearance_probability": 0.585
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.188,
                "goals": 0.2047,
                "goal_rate": 0.2047,
                "shots_on_target": 0.4676,
                "total_shots": 1.0738,
                "expected_assists": 0.0363,
                "key_pass": 0.3742,
                "rating": 6.6062,
                "minutes": 25.88,
                "total_pass": 4.6137,
                "accurate_pass": 2.5988,
                "duels_won": 2.3766,
                "total_long_balls": 0.1299,
                "accurate_long_balls": 0.1037,
                "total_opp_half_passes": 3.5593,
                "accurate_opp_half_passes": 2.0053,
                "crosses_total": 0.4079,
                "crosses_accurate": 0.156,
                "touches": 11.6769,
                "possession_lost": 4.7997,
                "dispossessed": 0.4797,
                "duels_lost": 3.6713,
                "aerial_lost": 1.0415,
                "total_contest": 0.3059,
                "won_contest": 0.093,
                "ball_recovery": 0.7041,
                "challenges_lost": 0.0933,
                "fouls": 1.2299,
                "fouls_drawn": 0.975,
                "assists": 0.1783,
                "assist_rate": 0.1783,
                "interceptions": 0.1404,
                "tackles_won": 0.0098,
                "tackles": 0.1989,
                "clearances": 0.0682,
                "blocks": 0.0308,
                "big_chances_created": 0.1798,
                "big_chances_missed": 0.4367,
                "xgot": 0.356,
                "offsides": 0.0116,
                "ball_carries": 1.9751,
                "total_progression": 4.4707,
                "progressive_carries": 0.0262,
                "shots_off_target": 0.6061,
                "bench_appearance_probability": 0.585,
                "bench_expected_minutes": 25.88
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.188,
                "goal_rate": 0.2047,
                "goals": 0,
                "shots_on_target": 0.4676,
                "total_shots": 1.0738,
                "expected_assists": 0.0363,
                "key_pass": 0.3742,
                "rating": 6.6062,
                "minutes": 25.88,
                "total_pass": 4.6137,
                "accurate_pass": 2.5988,
                "duels_won": 2.3766,
                "total_long_balls": 0.1299,
                "accurate_long_balls": 0.1037,
                "total_opp_half_passes": 3.5593,
                "accurate_opp_half_passes": 2.0053,
                "crosses_total": 0.4079,
                "crosses_accurate": 0.156,
                "touches": 11.6769,
                "possession_lost": 4.7997,
                "dispossessed": 0.4797,
                "duels_lost": 3.6713,
                "aerial_lost": 1.0415,
                "total_contest": 0.3059,
                "won_contest": 0.093,
                "ball_recovery": 0.7041,
                "challenges_lost": 0.0933,
                "fouls": 1.2299,
                "fouls_drawn": 0.975,
                "assist_rate": 0.1783,
                "assists": 0,
                "interceptions": 0.1404,
                "tackles_won": 0.0098,
                "tackles": 0.1989,
                "clearances": 0.0682,
                "blocks": 0.0308,
                "big_chances_created": 0.1798,
                "big_chances_missed": 0.4367,
                "xgot": 0.356,
                "offsides": 0.0116,
                "ball_carries": 1.9751,
                "total_progression": 4.4707,
                "progressive_carries": 0.0262,
                "shots_off_target": 0.6061,
                "bench_appearance_probability": 0.585,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.19 (squad xG sum 0.9866, xG scale 1.2071, xA scale 1.4295, team xA 0.77 = 0.65 x lambda)",
              "stats": {
                "expected_goals": 0.1328,
                "goal_rate": 0.2047,
                "goals": 0,
                "shots_on_target": 0.4676,
                "total_shots": 1.0738,
                "expected_assists": 0.0304,
                "key_pass": 0.3742,
                "rating": 6.6062,
                "minutes": 25.88,
                "total_pass": 4.6137,
                "accurate_pass": 2.5988,
                "duels_won": 2.3766,
                "total_long_balls": 0.1299,
                "accurate_long_balls": 0.1037,
                "total_opp_half_passes": 3.5593,
                "accurate_opp_half_passes": 2.0053,
                "crosses_total": 0.4079,
                "crosses_accurate": 0.156,
                "touches": 11.6769,
                "possession_lost": 4.7997,
                "dispossessed": 0.4797,
                "duels_lost": 3.6713,
                "aerial_lost": 1.0415,
                "total_contest": 0.3059,
                "won_contest": 0.093,
                "ball_recovery": 0.7041,
                "challenges_lost": 0.0933,
                "fouls": 1.2299,
                "fouls_drawn": 0.975,
                "assist_rate": 0.1783,
                "assists": 0,
                "interceptions": 0.1404,
                "tackles_won": 0.0098,
                "tackles": 0.1989,
                "clearances": 0.0682,
                "blocks": 0.0308,
                "big_chances_created": 0.1798,
                "big_chances_missed": 0.4367,
                "xgot": 0.2514,
                "offsides": 0.0116,
                "ball_carries": 1.9751,
                "total_progression": 4.4707,
                "progressive_carries": 0.0262,
                "shots_off_target": 0.6061,
                "bench_appearance_probability": 0.585,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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,
                "finishing_factor": 1.0702,
                "creation_factor": 1.25
              },
              "params": {
                "team_lambda": 1.191,
                "squad_xg_sum": 0.9866,
                "squad_xa_sum": 0.5416,
                "team_expected_assists": 0.7742,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.2071,
                "xa_scale": 1.4295,
                "opponent_lambda": 2.266,
                "scoreline_reset": true,
                "appearance_weight": 0.585
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.188,
                  "after": 0.1328
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0363,
                  "after": 0.0304
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 16 by projected rating, fifa_overall 75.0)",
              "stats": {
                "expected_goals": 0.1328,
                "goal_rate": 0.2047,
                "goals": 0,
                "shots_on_target": 0.4676,
                "total_shots": 1.0738,
                "expected_assists": 0.0304,
                "key_pass": 0.3742,
                "rating": 6.6062,
                "minutes": 25.88,
                "total_pass": 4.6137,
                "accurate_pass": 2.5988,
                "duels_won": 2.3766,
                "total_long_balls": 0.1299,
                "accurate_long_balls": 0.1037,
                "total_opp_half_passes": 3.5593,
                "accurate_opp_half_passes": 2.0053,
                "crosses_total": 0.4079,
                "crosses_accurate": 0.156,
                "touches": 11.6769,
                "possession_lost": 4.7997,
                "dispossessed": 0.4797,
                "duels_lost": 3.6713,
                "aerial_lost": 1.0415,
                "total_contest": 0.3059,
                "won_contest": 0.093,
                "ball_recovery": 0.7041,
                "challenges_lost": 0.0933,
                "fouls": 1.2299,
                "fouls_drawn": 0.975,
                "assist_rate": 0.1783,
                "assists": 0,
                "interceptions": 0.1404,
                "tackles_won": 0.0098,
                "tackles": 0.1989,
                "clearances": 0.0682,
                "blocks": 0.0308,
                "big_chances_created": 0.1798,
                "big_chances_missed": 0.4367,
                "xgot": 0.2514,
                "offsides": 0.0116,
                "ball_carries": 1.9751,
                "total_progression": 4.4707,
                "progressive_carries": 0.0262,
                "shots_off_target": 0.6061,
                "bench_appearance_probability": 0.585,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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,
                "finishing_factor": 1.0702,
                "creation_factor": 1.25,
                "fifa_overall": 75.0
              },
              "params": {
                "match_squad_rank": 16,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3474,
                "fifa_rank": 2418.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 75.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.1328,
                "goal_rate": 0.2047,
                "goals": 0,
                "shots_on_target": 0.4676,
                "total_shots": 1.0738,
                "expected_assists": 0.0304,
                "key_pass": 0.3742,
                "rating": 6.6062,
                "minutes": 25.88,
                "total_pass": 4.6137,
                "accurate_pass": 2.5988,
                "duels_won": 2.3766,
                "total_long_balls": 0.1299,
                "accurate_long_balls": 0.1037,
                "total_opp_half_passes": 3.5593,
                "accurate_opp_half_passes": 2.0053,
                "crosses_total": 0.4079,
                "crosses_accurate": 0.156,
                "touches": 11.6769,
                "possession_lost": 4.7997,
                "dispossessed": 0.4797,
                "duels_lost": 3.6713,
                "aerial_lost": 1.0415,
                "total_contest": 0.3059,
                "won_contest": 0.093,
                "ball_recovery": 0.7041,
                "challenges_lost": 0.0933,
                "fouls": 1.2299,
                "fouls_drawn": 0.975,
                "assist_rate": 0.1783,
                "assists": 0,
                "interceptions": 0.1404,
                "tackles_won": 0.0098,
                "tackles": 0.1989,
                "clearances": 0.0682,
                "blocks": 0.0308,
                "big_chances_created": 0.1798,
                "big_chances_missed": 0.4367,
                "xgot": 0.2514,
                "offsides": 0.0116,
                "ball_carries": 1.9751,
                "total_progression": 4.4707,
                "progressive_carries": 0.0262,
                "shots_off_target": 0.6061,
                "bench_appearance_probability": 0.585,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.1188,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0702,
                "creation_factor": 1.25,
                "fifa_overall": 75.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.1188,
                "goal_rate": 0.2047,
                "scorer_weight": 0.1421,
                "squad_weight_total": 1.3229,
                "weight_share": 0.1074,
                "finishing_factor": 1.0702,
                "appearance_weight": 0.585,
                "weight_rank": 4,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Roger Brugué",
                    "weight": 0.315,
                    "already": 0,
                    "effective_weight": 0.315,
                    "runner_up": "Iván Romero",
                    "runner_up_effective_weight": 0.2553
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.1328,
                "goal_rate": 0.2047,
                "goals": 0,
                "shots_on_target": 0.4676,
                "total_shots": 1.0738,
                "expected_assists": 0.0304,
                "key_pass": 0.3742,
                "rating": 6.6062,
                "minutes": 25.88,
                "total_pass": 4.6137,
                "accurate_pass": 2.5988,
                "duels_won": 2.3766,
                "total_long_balls": 0.1299,
                "accurate_long_balls": 0.1037,
                "total_opp_half_passes": 3.5593,
                "accurate_opp_half_passes": 2.0053,
                "crosses_total": 0.4079,
                "crosses_accurate": 0.156,
                "touches": 11.6769,
                "possession_lost": 4.7997,
                "dispossessed": 0.4797,
                "duels_lost": 3.6713,
                "aerial_lost": 1.0415,
                "total_contest": 0.3059,
                "won_contest": 0.093,
                "ball_recovery": 0.7041,
                "challenges_lost": 0.0933,
                "fouls": 1.2299,
                "fouls_drawn": 0.975,
                "assist_rate": 0.1783,
                "assists": 0,
                "interceptions": 0.1404,
                "tackles_won": 0.0098,
                "tackles": 0.1989,
                "clearances": 0.0682,
                "blocks": 0.0308,
                "big_chances_created": 0.1798,
                "big_chances_missed": 0.4367,
                "xgot": 0.2514,
                "offsides": 0.0116,
                "ball_carries": 1.9751,
                "total_progression": 4.4707,
                "progressive_carries": 0.0262,
                "shots_off_target": 0.6061,
                "bench_appearance_probability": 0.585,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.1188,
                "projected_assists": 0,
                "assist_probability": 0.0296,
                "finishing_factor": 1.0702,
                "creation_factor": 1.25,
                "fifa_overall": 75.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0296,
                "assist_rate": 0.1783,
                "provider_weight": 0.038,
                "squad_weight_total": 0.7982,
                "weight_share": 0.0476,
                "creation_factor": 1.25,
                "appearance_weight": 0.585,
                "weight_rank": 8,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Thiago Fernández",
                    "weight": 0.1951,
                    "already": 0,
                    "effective_weight": 0.1951,
                    "runner_up": "Jon Ander Olasagasti",
                    "runner_up_effective_weight": 0.1554,
                    "blocked_own_goal": [
                      "Roger Brugué"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Petar Ratkov": {
          "player_id": 1101942,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 10,
          "height": 187,
          "market_value": 8400000,
          "stats": {
            "expected_goals": 0.0585,
            "goal_rate": 0.0764,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0143,
            "key_pass": 0,
            "rating": 6.5994,
            "minutes": 26,
            "total_pass": 10,
            "accurate_pass": 7,
            "duels_won": 2,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 19,
            "possession_lost": 7.9571,
            "dispossessed": 1.3448,
            "duels_lost": 5,
            "aerial_lost": 2,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 1,
            "assist_rate": 0.0,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 2,
            "total_progression": 0,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.571,
            "bench_expected_minutes": 25.55,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.291,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0556,
            "projected_assists": 0,
            "assist_probability": 0.0141,
            "finishing_factor": 0.937,
            "creation_factor": 0.8,
            "fifa_overall": 68.0
          },
          "latest_10_games": [
            {
              "match_id": 16421086,
              "match_date": "2026-10-25",
              "home_team": "Real Sociedad",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 62,
                "rating": 6.3,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.01,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 10,
                "accurate_pass": 6,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 1,
                "clearances": 0,
                "aerial_won": 3,
                "duels_won": 3,
                "ball_recovery": 1,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 17122851,
              "match_date": "2026-10-21",
              "home_team": "Levante UD",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 72,
                "rating": 6.4,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0009,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 11,
                "accurate_pass": 7,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 2,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 1,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 34,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1324,
                "expected_assists": 0.0281,
                "total_shots": 1,
                "total_pass": 8,
                "accurate_pass": 8,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416294,
              "match_date": "2026-09-20",
              "home_team": "Villarreal",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 11,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 1,
                "accurate_pass": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416329,
              "match_date": "2026-09-13",
              "home_team": "Levante UD",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 59,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.084,
                "expected_assists": 0.0009,
                "total_shots": 1,
                "total_pass": 11,
                "accurate_pass": 6,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 5795,
            "combined_rank_score": 4058.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 7956.0,
            "fifa_overall": 68.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.5994,
            "source_file": "data/player_rankings.csv",
            "player_name": "Petar Ratkov",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Samuel Mráz",
                  "ranking": 5790
                },
                {
                  "player_name": "José Sagredo",
                  "ranking": 5791
                },
                {
                  "player_name": "Jahmai Simpson-Pusey",
                  "ranking": 5792
                },
                {
                  "player_name": "Keisuke Gotō",
                  "ranking": 5793
                },
                {
                  "player_name": "Baltasar Barcia",
                  "ranking": 5794
                }
              ],
              "lower": [
                {
                  "player_name": "Ayoube Amaimouni",
                  "ranking": 5796
                },
                {
                  "player_name": "Robert Skov",
                  "ranking": 5797
                },
                {
                  "player_name": "Jonathan Perlaza",
                  "ranking": 5798
                },
                {
                  "player_name": "Juan Manuel Elordi",
                  "ranking": 5799
                },
                {
                  "player_name": "Marvin Friedrich",
                  "ranking": 5800
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.562,
          "history_matches": 5,
          "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",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "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",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 5,
            "data_confidence": 0.562,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 25.553793669464316,
            "bench_appearance_prob": 0.5706269849756507,
            "market_value_adjustment": 0.9998,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (5 historical appearances) to 25.6 expected mins (appearance prob 0.57)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.0722,
                "goals": 0.0649,
                "goal_rate": 0.0649,
                "shots_on_target": 0.2613,
                "total_shots": 0.6446,
                "expected_assists": 0.0149,
                "key_pass": 0.1886,
                "rating": 6.5994,
                "minutes": 21.72,
                "total_pass": 8.49,
                "accurate_pass": 5.7909,
                "duels_won": 1.9728,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 4.6049,
                "accurate_opp_half_passes": 2.8269,
                "crosses_total": 0.2696,
                "crosses_accurate": 0.0,
                "touches": 16.1432,
                "possession_lost": 6.7647,
                "dispossessed": 1.3451,
                "duels_lost": 4.6032,
                "aerial_lost": 2.1136,
                "total_contest": 0.4988,
                "won_contest": 0.2292,
                "ball_recovery": 1.1159,
                "challenges_lost": 0.6052,
                "fouls": 0.2696,
                "fouls_drawn": 0.6052,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.4104,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.4584,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.0792,
                "total_progression": 0.0,
                "progressive_carries": 0.1408,
                "shots_off_target": 0.3832
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Real Sociedad",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.2696,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-10-21",
                    "opponent": "Athletic Club",
                    "minutes": 72.0,
                    "is_starting": true,
                    "weight": 0.2292,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Sevilla",
                    "minutes": 34.0,
                    "is_starting": false,
                    "weight": 0.1948,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Villarreal",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.1656,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "FC Barcelona",
                    "minutes": 59.0,
                    "is_starting": true,
                    "weight": 0.1408,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 5.0,
                  "is_starting_11": 0.0,
                  "expectedGoals": 0.0376,
                  "accuratePass": 5.7909,
                  "totalOppositionHalfPasses": 4.6049,
                  "accurateOppositionHalfPasses": 2.8269,
                  "totalShots": 0.3356
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.07217010855674744,
                    "model_output": 0.0722,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0894
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0131
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0069
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0052
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0046
                        }
                      ],
                      "others": -0.0045,
                      "total": 0.0722,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.609194
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.13107
                        },
                        {
                          "name": "goals",
                          "margin": -0.076928
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.062163
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.057723
                        }
                      ],
                      "others_margin": -0.061692
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.06494764983654022,
                    "model_output": 0.0649,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0874
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0132
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0089
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.007
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0069
                        }
                      ],
                      "others": -0.0262,
                      "total": 0.0649,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.573018
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.123705
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.093443
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.074018
                        },
                        {
                          "name": "goals",
                          "margin": -0.073046
                        }
                      ],
                      "others_margin": -0.337921
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.26131656765937805,
                    "model_output": 0.2613,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2065
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0284
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0146
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": -0.0102
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0102
                        }
                      ],
                      "others": -0.0214,
                      "total": 0.2613,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.491154
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.091393
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.05035
                        },
                        {
                          "name": "totalShots_p90",
                          "margin": -0.036726
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.036702
                        }
                      ],
                      "others_margin": -0.078331
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.6445540189743042,
                    "model_output": 0.6446,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4839
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1096
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0373
                        },
                        {
                          "name": "shotOffTarget",
                          "contribution": -0.0347
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": -0.028
                        }
                      ],
                      "others": -0.0421,
                      "total": 0.6446,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.483859
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.109624
                        },
                        {
                          "name": "goals",
                          "margin": -0.037256
                        },
                        {
                          "name": "shotOffTarget",
                          "margin": -0.034657
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": -0.027982
                        }
                      ],
                      "others_margin": -0.042219
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.014887590892612934,
                    "model_output": 0.0149,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0201
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0119
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0047
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.0025
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0022
                        }
                      ],
                      "others": -0.008,
                      "total": 0.0149,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "expectedAssists",
                          "margin": -0.374721
                        },
                        {
                          "name": "is_starting_11",
                          "margin": -0.314359
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.158274
                        },
                        {
                          "name": "keyPass",
                          "margin": -0.096831
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.090764
                        }
                      ],
                      "others_margin": -0.428206
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.18864040076732635,
                    "model_output": 0.1886,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2819
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.0417
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0329
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0255
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0228
                        }
                      ],
                      "others": -0.0933,
                      "total": 0.1886,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.528531
                        },
                        {
                          "name": "keyPass",
                          "margin": -0.108833
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.095
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.08053
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.077754
                        }
                      ],
                      "others_margin": -0.401461
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.5994486808776855,
                    "model_output": 6.5994,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0531
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0319
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0143
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0112
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0089
                        }
                      ],
                      "others": -0.052,
                      "total": 6.5994,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.053079
                        },
                        {
                          "name": "rating",
                          "margin": -0.031857
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.014336
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.011205
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.008887
                        }
                      ],
                      "others_margin": -0.052031
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 5,
                  "role_matches": 2,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "all_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9998, quality 0.503)",
              "stats": {
                "expected_goals": 0.0722,
                "goals": 0.0649,
                "goal_rate": 0.0649,
                "shots_on_target": 0.2613,
                "total_shots": 0.6444,
                "expected_assists": 0.0149,
                "key_pass": 0.1886,
                "rating": 6.5994,
                "minutes": 21.72,
                "total_pass": 8.4883,
                "accurate_pass": 5.7897,
                "duels_won": 1.9724,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 4.604,
                "accurate_opp_half_passes": 2.8263,
                "crosses_total": 0.2695,
                "crosses_accurate": 0.0,
                "touches": 16.14,
                "possession_lost": 6.7633,
                "dispossessed": 1.3448,
                "duels_lost": 4.6023,
                "aerial_lost": 2.1132,
                "total_contest": 0.4987,
                "won_contest": 0.2292,
                "ball_recovery": 1.1157,
                "challenges_lost": 0.6051,
                "fouls": 0.2695,
                "fouls_drawn": 0.6051,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.4103,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.4583,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.0788,
                "total_progression": 0.0,
                "progressive_carries": 0.1408,
                "shots_off_target": 0.3831
              },
              "params": {
                "market_value_eur": 8400000,
                "quality_factor": 0.5035,
                "boost_factor": 0.9998,
                "reference_quality": 0.505,
                "history_matches": 5,
                "history_shrink": 0.5,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 21.7 to 25.6 expected minutes (appearance prob 0.57)",
              "stats": {
                "expected_goals": 0.0849,
                "goals": 0.0764,
                "goal_rate": 0.0764,
                "shots_on_target": 0.3074,
                "total_shots": 0.7581,
                "expected_assists": 0.0175,
                "key_pass": 0.2219,
                "rating": 6.5994,
                "minutes": 25.55,
                "total_pass": 9.9866,
                "accurate_pass": 6.8116,
                "duels_won": 2.3205,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 5.4167,
                "accurate_opp_half_passes": 3.3252,
                "crosses_total": 0.3171,
                "crosses_accurate": 0.0,
                "touches": 18.9889,
                "possession_lost": 7.9571,
                "dispossessed": 1.3448,
                "duels_lost": 5.4147,
                "aerial_lost": 2.1132,
                "total_contest": 0.5867,
                "won_contest": 0.2697,
                "ball_recovery": 1.3126,
                "challenges_lost": 0.6051,
                "fouls": 0.3171,
                "fouls_drawn": 0.7119,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.4827,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.5392,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.4457,
                "total_progression": 0.0,
                "progressive_carries": 0.1657,
                "shots_off_target": 0.4507,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 25.55
              },
              "params": {
                "expected_minutes": 25.55,
                "projection_minutes": 21.72,
                "minutes_scale": 1.1765,
                "appearance_probability": 0.571
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0849,
                "goals": 0.0764,
                "goal_rate": 0.0764,
                "shots_on_target": 0.3074,
                "total_shots": 0.7581,
                "expected_assists": 0.0175,
                "key_pass": 0.2219,
                "rating": 6.5994,
                "minutes": 25.55,
                "total_pass": 9.9866,
                "accurate_pass": 6.8116,
                "duels_won": 2.3205,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 5.4167,
                "accurate_opp_half_passes": 3.3252,
                "crosses_total": 0.3171,
                "crosses_accurate": 0.0,
                "touches": 18.9889,
                "possession_lost": 7.9571,
                "dispossessed": 1.3448,
                "duels_lost": 5.4147,
                "aerial_lost": 2.1132,
                "total_contest": 0.5867,
                "won_contest": 0.2697,
                "ball_recovery": 1.3126,
                "challenges_lost": 0.6051,
                "fouls": 0.3171,
                "fouls_drawn": 0.7119,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.4827,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.5392,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.4457,
                "total_progression": 0.0,
                "progressive_carries": 0.1657,
                "shots_off_target": 0.4507,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 25.55
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.0849,
                "goal_rate": 0.0764,
                "goals": 0,
                "shots_on_target": 0.3074,
                "total_shots": 0.7581,
                "expected_assists": 0.0175,
                "key_pass": 0.2219,
                "rating": 6.5994,
                "minutes": 25.55,
                "total_pass": 9.9866,
                "accurate_pass": 6.8116,
                "duels_won": 2.3205,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 5.4167,
                "accurate_opp_half_passes": 3.3252,
                "crosses_total": 0.3171,
                "crosses_accurate": 0.0,
                "touches": 18.9889,
                "possession_lost": 7.9571,
                "dispossessed": 1.3448,
                "duels_lost": 5.4147,
                "aerial_lost": 2.1132,
                "total_contest": 0.5867,
                "won_contest": 0.2697,
                "ball_recovery": 1.3126,
                "challenges_lost": 0.6051,
                "fouls": 0.3171,
                "fouls_drawn": 0.7119,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.4827,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.5392,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.4457,
                "total_progression": 0.0,
                "progressive_carries": 0.1657,
                "shots_off_target": 0.4507,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 25.55,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.19 (squad xG sum 0.9866, xG scale 1.2071, xA scale 1.4295, team xA 0.77 = 0.65 x lambda)",
              "stats": {
                "expected_goals": 0.0585,
                "goal_rate": 0.0764,
                "goals": 0,
                "shots_on_target": 0.3074,
                "total_shots": 0.7581,
                "expected_assists": 0.0143,
                "key_pass": 0.2219,
                "rating": 6.5994,
                "minutes": 25.55,
                "total_pass": 9.9866,
                "accurate_pass": 6.8116,
                "duels_won": 2.3205,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 5.4167,
                "accurate_opp_half_passes": 3.3252,
                "crosses_total": 0.3171,
                "crosses_accurate": 0.0,
                "touches": 18.9889,
                "possession_lost": 7.9571,
                "dispossessed": 1.3448,
                "duels_lost": 5.4147,
                "aerial_lost": 2.1132,
                "total_contest": 0.5867,
                "won_contest": 0.2697,
                "ball_recovery": 1.3126,
                "challenges_lost": 0.6051,
                "fouls": 0.3171,
                "fouls_drawn": 0.7119,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.4827,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.5392,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.4457,
                "total_progression": 0.0,
                "progressive_carries": 0.1657,
                "shots_off_target": 0.4507,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 25.55,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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,
                "finishing_factor": 0.937,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.191,
                "squad_xg_sum": 0.9866,
                "squad_xa_sum": 0.5416,
                "team_expected_assists": 0.7742,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.2071,
                "xa_scale": 1.4295,
                "opponent_lambda": 2.266,
                "scoreline_reset": true,
                "appearance_weight": 0.571
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0849,
                  "after": 0.0585
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 17 by projected rating, fifa_overall 68.0)",
              "stats": {
                "expected_goals": 0.0585,
                "goal_rate": 0.0764,
                "goals": 0,
                "shots_on_target": 0.3074,
                "total_shots": 0.7581,
                "expected_assists": 0.0143,
                "key_pass": 0.2219,
                "rating": 6.5994,
                "minutes": 25.55,
                "total_pass": 9.9866,
                "accurate_pass": 6.8116,
                "duels_won": 2.3205,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 5.4167,
                "accurate_opp_half_passes": 3.3252,
                "crosses_total": 0.3171,
                "crosses_accurate": 0.0,
                "touches": 18.9889,
                "possession_lost": 7.9571,
                "dispossessed": 1.3448,
                "duels_lost": 5.4147,
                "aerial_lost": 2.1132,
                "total_contest": 0.5867,
                "won_contest": 0.2697,
                "ball_recovery": 1.3126,
                "challenges_lost": 0.6051,
                "fouls": 0.3171,
                "fouls_drawn": 0.7119,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.4827,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.5392,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.4457,
                "total_progression": 0.0,
                "progressive_carries": 0.1657,
                "shots_off_target": 0.4507,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 25.55,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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,
                "finishing_factor": 0.937,
                "creation_factor": 0.8,
                "fifa_overall": 68.0
              },
              "params": {
                "match_squad_rank": 17,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 5795,
                "fifa_rank": 7956.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 68.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.0585,
                "goal_rate": 0.0764,
                "goals": 0,
                "shots_on_target": 0.3074,
                "total_shots": 0.7581,
                "expected_assists": 0.0143,
                "key_pass": 0.2219,
                "rating": 6.5994,
                "minutes": 25.55,
                "total_pass": 9.9866,
                "accurate_pass": 6.8116,
                "duels_won": 2.3205,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 5.4167,
                "accurate_opp_half_passes": 3.3252,
                "crosses_total": 0.3171,
                "crosses_accurate": 0.0,
                "touches": 18.9889,
                "possession_lost": 7.9571,
                "dispossessed": 1.3448,
                "duels_lost": 5.4147,
                "aerial_lost": 2.1132,
                "total_contest": 0.5867,
                "won_contest": 0.2697,
                "ball_recovery": 1.3126,
                "challenges_lost": 0.6051,
                "fouls": 0.3171,
                "fouls_drawn": 0.7119,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.4827,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.5392,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.4457,
                "total_progression": 0.0,
                "progressive_carries": 0.1657,
                "shots_off_target": 0.4507,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 25.55,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0556,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.937,
                "creation_factor": 0.8,
                "fifa_overall": 68.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0556,
                "goal_rate": 0.0764,
                "scorer_weight": 0.0548,
                "squad_weight_total": 1.3229,
                "weight_share": 0.0414,
                "finishing_factor": 0.937,
                "appearance_weight": 0.571,
                "weight_rank": 9,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Roger Brugué",
                    "weight": 0.315,
                    "already": 0,
                    "effective_weight": 0.315,
                    "runner_up": "Iván Romero",
                    "runner_up_effective_weight": 0.2553
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.0585,
                "goal_rate": 0.0764,
                "goals": 0,
                "shots_on_target": 0.3074,
                "total_shots": 0.7581,
                "expected_assists": 0.0143,
                "key_pass": 0.2219,
                "rating": 6.5994,
                "minutes": 25.55,
                "total_pass": 9.9866,
                "accurate_pass": 6.8116,
                "duels_won": 2.3205,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 5.4167,
                "accurate_opp_half_passes": 3.3252,
                "crosses_total": 0.3171,
                "crosses_accurate": 0.0,
                "touches": 18.9889,
                "possession_lost": 7.9571,
                "dispossessed": 1.3448,
                "duels_lost": 5.4147,
                "aerial_lost": 2.1132,
                "total_contest": 0.5867,
                "won_contest": 0.2697,
                "ball_recovery": 1.3126,
                "challenges_lost": 0.6051,
                "fouls": 0.3171,
                "fouls_drawn": 0.7119,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.4827,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.5392,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.4457,
                "total_progression": 0.0,
                "progressive_carries": 0.1657,
                "shots_off_target": 0.4507,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 25.55,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0556,
                "projected_assists": 0,
                "assist_probability": 0.0141,
                "finishing_factor": 0.937,
                "creation_factor": 0.8,
                "fifa_overall": 68.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0141,
                "assist_rate": 0.0,
                "provider_weight": 0.0114,
                "squad_weight_total": 0.7982,
                "weight_share": 0.0143,
                "creation_factor": 0.8,
                "appearance_weight": 0.571,
                "weight_rank": 11,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Thiago Fernández",
                    "weight": 0.1951,
                    "already": 0,
                    "effective_weight": 0.1951,
                    "runner_up": "Jon Ander Olasagasti",
                    "runner_up_effective_weight": 0.1554,
                    "blocked_own_goal": [
                      "Roger Brugué"
                    ]
                  }
                ]
              }
            }
          ]
        }
      },
      "substitutes": {
        "Etta Eyong": {
          "player_id": 1393673,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 21,
          "height": 181,
          "market_value": 15600000,
          "stats": {
            "expected_goals": 0.1328,
            "goal_rate": 0.2047,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0304,
            "key_pass": 0,
            "rating": 6.6062,
            "minutes": 26,
            "total_pass": 5,
            "accurate_pass": 3,
            "duels_won": 2,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 4,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 12,
            "possession_lost": 4.7997,
            "dispossessed": 0.4797,
            "duels_lost": 4,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 1,
            "assist_rate": 0.1783,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.2514,
            "offsides": 0,
            "ball_carries": 2,
            "total_progression": 4,
            "progressive_carries": 0,
            "shots_off_target": 1,
            "bench_appearance_probability": 0.585,
            "bench_expected_minutes": 25.88,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.291,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.1188,
            "projected_assists": 0,
            "assist_probability": 0.0296,
            "finishing_factor": 1.0702,
            "creation_factor": 1.25,
            "fifa_overall": 75.0
          },
          "latest_10_games": [
            {
              "match_id": 16421086,
              "match_date": "2026-10-25",
              "home_team": "Real Sociedad",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 28,
                "rating": 6.3,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2375,
                "expected_assists": 0.0001,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 2,
                "accurate_pass": 1,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 3,
                "ball_recovery": 0,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 17122851,
              "match_date": "2026-10-21",
              "home_team": "Levante UD",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 18,
                "rating": 6.9,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.9511,
                "expected_assists": 0.0021,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 4,
                "accurate_pass": 1,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 0,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416309,
              "match_date": "2026-08-29",
              "home_team": "Levante UD",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 18,
                "rating": 7.5,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.0434,
                "expected_assists": 0.2699,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 6,
                "accurate_pass": 3,
                "key_pass": 1,
                "tackles": 1,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416296,
              "match_date": "2026-08-24",
              "home_team": "Osasuna",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "total_shots": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421053,
              "match_date": "2026-08-16",
              "home_team": "Espanyol",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 45,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0529,
                "expected_assists": 0.0044,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 4,
                "accurate_pass": 3,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083710,
              "match_date": "2026-05-23",
              "home_team": "Real Betis",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 9,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0109,
                "expected_assists": 0.0111,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 2,
                "accurate_pass": 1,
                "key_pass": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083676,
              "match_date": "2026-05-17",
              "home_team": "Levante UD",
              "away_team": "Mallorca",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Mallorca",
              "stats": {
                "minutes": 8,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0568,
                "expected_assists": 0.002,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 4,
                "accurate_pass": 3,
                "interceptions": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083568,
              "match_date": "2026-05-08",
              "home_team": "Levante UD",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 14,
                "rating": 7.8,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.5614,
                "expected_assists": 0.0475,
                "total_shots": 4,
                "shots_on_target": 4,
                "total_pass": 5,
                "accurate_pass": 5,
                "key_pass": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083512,
              "match_date": "2026-05-02",
              "home_team": "Villarreal",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 22,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.033,
                "expected_assists": 0.0205,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 6,
                "accurate_pass": 4,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083221,
              "match_date": "2026-04-27",
              "home_team": "Espanyol",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 18,
                "rating": 6.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.7639,
                "expected_assists": 0.0001,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 4,
                "accurate_pass": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 3474,
            "combined_rank_score": 1464.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 511.0,
            "sofascore_rating": 6.85,
            "sofascore_appearances": 3.0,
            "fifa_rank": 2418.0,
            "fifa_overall": 75.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6062,
            "source_file": "data/player_rankings.csv",
            "player_name": "Etta Eyong",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Nabil Bentaleb",
                  "ranking": 3469
                },
                {
                  "player_name": "Ludovic Ajorque",
                  "ranking": 3470
                },
                {
                  "player_name": "Jonathan Gradit",
                  "ranking": 3471
                },
                {
                  "player_name": "Ruben Aguilar",
                  "ranking": 3472
                },
                {
                  "player_name": "Arnaut Danjuma",
                  "ranking": 3473
                }
              ],
              "lower": [
                {
                  "player_name": "Thilo Kehrer",
                  "ranking": 3475
                },
                {
                  "player_name": "Takumi Minamino",
                  "ranking": 3476
                },
                {
                  "player_name": "Dani Cárdenas",
                  "ranking": 3477
                },
                {
                  "player_name": "Pierre Lees-Melou",
                  "ranking": 3478
                },
                {
                  "player_name": "Marc Aguado",
                  "ranking": 3479
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 38,
          "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",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "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",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 38,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 25.879293251195485,
            "bench_appearance_prob": 0.5854224205088857,
            "market_value_adjustment": 1.0028,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (38 historical appearances) to 25.9 expected mins (appearance prob 0.59)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.1358,
                "goals": 0.1479,
                "goal_rate": 0.1479,
                "shots_on_target": 0.3379,
                "total_shots": 0.7758,
                "expected_assists": 0.0262,
                "key_pass": 0.2704,
                "rating": 6.6062,
                "minutes": 18.75,
                "total_pass": 3.3334,
                "accurate_pass": 1.8776,
                "duels_won": 1.7171,
                "total_long_balls": 0.0938,
                "accurate_long_balls": 0.0749,
                "total_opp_half_passes": 2.5716,
                "accurate_opp_half_passes": 1.4488,
                "crosses_total": 0.2947,
                "crosses_accurate": 0.1127,
                "touches": 8.4365,
                "possession_lost": 3.4678,
                "dispossessed": 0.4784,
                "duels_lost": 2.6525,
                "aerial_lost": 1.0386,
                "total_contest": 0.221,
                "won_contest": 0.0672,
                "ball_recovery": 0.5087,
                "challenges_lost": 0.093,
                "fouls": 0.8886,
                "fouls_drawn": 0.7044,
                "assists": 0.1288,
                "assist_rate": 0.1288,
                "interceptions": 0.1014,
                "tackles_won": 0.0071,
                "tackles": 0.1437,
                "clearances": 0.0493,
                "blocks": 0.0222,
                "big_chances_created": 0.1299,
                "big_chances_missed": 0.3155,
                "xgot": 0.2572,
                "offsides": 0.0116,
                "ball_carries": 1.427,
                "total_progression": 3.2301,
                "progressive_carries": 0.0189,
                "shots_off_target": 0.4379
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Real Sociedad",
                    "minutes": 28.0,
                    "is_starting": false,
                    "weight": 0.1503,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-10-21",
                    "opponent": "Athletic Club",
                    "minutes": 18.0,
                    "is_starting": false,
                    "weight": 0.1278,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Real Betis",
                    "minutes": 18.0,
                    "is_starting": false,
                    "weight": 0.1086,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Osasuna",
                    "minutes": 1.0,
                    "is_starting": false,
                    "weight": 0.0923,
                    "rating": 0.0
                  },
                  {
                    "match_date": "2026-08-16",
                    "opponent": "Espanyol",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.0785,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-05-23",
                    "opponent": "Real Betis",
                    "minutes": 9.0,
                    "is_starting": false,
                    "weight": 0.0667,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Mallorca",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 0.0567,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-05-08",
                    "opponent": "Osasuna",
                    "minutes": 14.0,
                    "is_starting": false,
                    "weight": 0.0482,
                    "rating": 7.8
                  },
                  {
                    "match_date": "2026-05-02",
                    "opponent": "Villarreal",
                    "minutes": 22.0,
                    "is_starting": false,
                    "weight": 0.041,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-04-27",
                    "opponent": "Espanyol",
                    "minutes": 18.0,
                    "is_starting": false,
                    "weight": 0.0348,
                    "rating": 6.1
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "expectedGoals": 0.2377,
                  "accuratePass": 2.1981,
                  "totalOppositionHalfPasses": 2.8315,
                  "accurateOppositionHalfPasses": 1.6048,
                  "totalShots": 0.989
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.13579843938350677,
                    "model_output": 0.1358,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0854
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0153
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": 0.0115
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0054
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0046
                        }
                      ],
                      "others": -0.0007,
                      "total": 0.1358,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.572155
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.129871
                        },
                        {
                          "name": "pass_accuracy",
                          "margin": 0.087155
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.039784
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.034127
                        }
                      ],
                      "others_margin": -0.005838
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.14790357649326324,
                    "model_output": 0.1479,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0897
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0111
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": 0.009
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0066
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": -0.005
                        }
                      ],
                      "others": 0.0286,
                      "total": 0.1479,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.592973
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.095353
                        },
                        {
                          "name": "pass_accuracy",
                          "margin": 0.07148
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.051969
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": -0.041125
                        }
                      ],
                      "others_margin": 0.215098
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.33790138363838196,
                    "model_output": 0.3379,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2127
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0172
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0167
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": 0.0172
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.016
                        }
                      ],
                      "others": -0.0143,
                      "total": 0.3379,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.510295
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.055492
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.053811
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": 0.052468
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.046416
                        }
                      ],
                      "others_margin": -0.041135
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.7757834792137146,
                    "model_output": 0.7758,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.5226
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.091
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": 0.0528
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0263
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": 0.0253
                        }
                      ],
                      "others": -0.0426,
                      "total": 0.7758,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.522639
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.090983
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": 0.052751
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.026341
                        },
                        {
                          "name": "totalShots_p90",
                          "margin": 0.025346
                        }
                      ],
                      "others_margin": -0.042501
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.02620590850710869,
                    "model_output": 0.0262,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0185
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0095
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.0032
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0031
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0029
                        }
                      ],
                      "others": -0.0071,
                      "total": 0.0262,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.340293
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.233907
                        },
                        {
                          "name": "keyPass",
                          "margin": -0.09367
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.090902
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.082205
                        }
                      ],
                      "others_margin": -0.238524
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.2703549861907959,
                    "model_output": 0.2704,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2654
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0409
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0296
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.0179
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0141
                        }
                      ],
                      "others": -0.0484,
                      "total": 0.2704,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.488512
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.102045
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.081067
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": -0.052441
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.043143
                        }
                      ],
                      "others_margin": -0.165008
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.606225967407227,
                    "model_output": 6.6062,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0598
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.026
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0155
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": 0.0121
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0121
                        }
                      ],
                      "others": -0.0633,
                      "total": 6.6062,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.059814
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.025974
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.015453
                        },
                        {
                          "name": "pass_accuracy",
                          "margin": 0.01208
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.01207
                        }
                      ],
                      "others_margin": -0.063389
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 38,
                  "role_matches": 20,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0028, quality 0.586)",
              "stats": {
                "expected_goals": 0.1362,
                "goals": 0.1483,
                "goal_rate": 0.1483,
                "shots_on_target": 0.3388,
                "total_shots": 0.778,
                "expected_assists": 0.0263,
                "key_pass": 0.2711,
                "rating": 6.6062,
                "minutes": 18.75,
                "total_pass": 3.3427,
                "accurate_pass": 1.8829,
                "duels_won": 1.7219,
                "total_long_balls": 0.0941,
                "accurate_long_balls": 0.0751,
                "total_opp_half_passes": 2.5788,
                "accurate_opp_half_passes": 1.4529,
                "crosses_total": 0.2955,
                "crosses_accurate": 0.113,
                "touches": 8.4601,
                "possession_lost": 3.4775,
                "dispossessed": 0.4797,
                "duels_lost": 2.6599,
                "aerial_lost": 1.0415,
                "total_contest": 0.2216,
                "won_contest": 0.0674,
                "ball_recovery": 0.5101,
                "challenges_lost": 0.0933,
                "fouls": 0.8911,
                "fouls_drawn": 0.7064,
                "assists": 0.1292,
                "assist_rate": 0.1292,
                "interceptions": 0.1017,
                "tackles_won": 0.0071,
                "tackles": 0.1441,
                "clearances": 0.0494,
                "blocks": 0.0223,
                "big_chances_created": 0.1303,
                "big_chances_missed": 0.3164,
                "xgot": 0.2579,
                "offsides": 0.0116,
                "ball_carries": 1.431,
                "total_progression": 3.2391,
                "progressive_carries": 0.019,
                "shots_off_target": 0.4391
              },
              "params": {
                "market_value_eur": 15600000,
                "quality_factor": 0.5857,
                "boost_factor": 1.0028,
                "reference_quality": 0.505,
                "history_matches": 38,
                "history_shrink": 0.1163,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 18.8 to 25.9 expected minutes (appearance prob 0.59)",
              "stats": {
                "expected_goals": 0.188,
                "goals": 0.2047,
                "goal_rate": 0.2047,
                "shots_on_target": 0.4676,
                "total_shots": 1.0738,
                "expected_assists": 0.0363,
                "key_pass": 0.3742,
                "rating": 6.6062,
                "minutes": 25.88,
                "total_pass": 4.6137,
                "accurate_pass": 2.5988,
                "duels_won": 2.3766,
                "total_long_balls": 0.1299,
                "accurate_long_balls": 0.1037,
                "total_opp_half_passes": 3.5593,
                "accurate_opp_half_passes": 2.0053,
                "crosses_total": 0.4079,
                "crosses_accurate": 0.156,
                "touches": 11.6769,
                "possession_lost": 4.7997,
                "dispossessed": 0.4797,
                "duels_lost": 3.6713,
                "aerial_lost": 1.0415,
                "total_contest": 0.3059,
                "won_contest": 0.093,
                "ball_recovery": 0.7041,
                "challenges_lost": 0.0933,
                "fouls": 1.2299,
                "fouls_drawn": 0.975,
                "assists": 0.1783,
                "assist_rate": 0.1783,
                "interceptions": 0.1404,
                "tackles_won": 0.0098,
                "tackles": 0.1989,
                "clearances": 0.0682,
                "blocks": 0.0308,
                "big_chances_created": 0.1798,
                "big_chances_missed": 0.4367,
                "xgot": 0.356,
                "offsides": 0.0116,
                "ball_carries": 1.9751,
                "total_progression": 4.4707,
                "progressive_carries": 0.0262,
                "shots_off_target": 0.6061,
                "bench_appearance_probability": 0.585,
                "bench_expected_minutes": 25.88
              },
              "params": {
                "expected_minutes": 25.88,
                "projection_minutes": 18.75,
                "minutes_scale": 1.3802,
                "appearance_probability": 0.585
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.188,
                "goals": 0.2047,
                "goal_rate": 0.2047,
                "shots_on_target": 0.4676,
                "total_shots": 1.0738,
                "expected_assists": 0.0363,
                "key_pass": 0.3742,
                "rating": 6.6062,
                "minutes": 25.88,
                "total_pass": 4.6137,
                "accurate_pass": 2.5988,
                "duels_won": 2.3766,
                "total_long_balls": 0.1299,
                "accurate_long_balls": 0.1037,
                "total_opp_half_passes": 3.5593,
                "accurate_opp_half_passes": 2.0053,
                "crosses_total": 0.4079,
                "crosses_accurate": 0.156,
                "touches": 11.6769,
                "possession_lost": 4.7997,
                "dispossessed": 0.4797,
                "duels_lost": 3.6713,
                "aerial_lost": 1.0415,
                "total_contest": 0.3059,
                "won_contest": 0.093,
                "ball_recovery": 0.7041,
                "challenges_lost": 0.0933,
                "fouls": 1.2299,
                "fouls_drawn": 0.975,
                "assists": 0.1783,
                "assist_rate": 0.1783,
                "interceptions": 0.1404,
                "tackles_won": 0.0098,
                "tackles": 0.1989,
                "clearances": 0.0682,
                "blocks": 0.0308,
                "big_chances_created": 0.1798,
                "big_chances_missed": 0.4367,
                "xgot": 0.356,
                "offsides": 0.0116,
                "ball_carries": 1.9751,
                "total_progression": 4.4707,
                "progressive_carries": 0.0262,
                "shots_off_target": 0.6061,
                "bench_appearance_probability": 0.585,
                "bench_expected_minutes": 25.88
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.188,
                "goal_rate": 0.2047,
                "goals": 0,
                "shots_on_target": 0.4676,
                "total_shots": 1.0738,
                "expected_assists": 0.0363,
                "key_pass": 0.3742,
                "rating": 6.6062,
                "minutes": 25.88,
                "total_pass": 4.6137,
                "accurate_pass": 2.5988,
                "duels_won": 2.3766,
                "total_long_balls": 0.1299,
                "accurate_long_balls": 0.1037,
                "total_opp_half_passes": 3.5593,
                "accurate_opp_half_passes": 2.0053,
                "crosses_total": 0.4079,
                "crosses_accurate": 0.156,
                "touches": 11.6769,
                "possession_lost": 4.7997,
                "dispossessed": 0.4797,
                "duels_lost": 3.6713,
                "aerial_lost": 1.0415,
                "total_contest": 0.3059,
                "won_contest": 0.093,
                "ball_recovery": 0.7041,
                "challenges_lost": 0.0933,
                "fouls": 1.2299,
                "fouls_drawn": 0.975,
                "assist_rate": 0.1783,
                "assists": 0,
                "interceptions": 0.1404,
                "tackles_won": 0.0098,
                "tackles": 0.1989,
                "clearances": 0.0682,
                "blocks": 0.0308,
                "big_chances_created": 0.1798,
                "big_chances_missed": 0.4367,
                "xgot": 0.356,
                "offsides": 0.0116,
                "ball_carries": 1.9751,
                "total_progression": 4.4707,
                "progressive_carries": 0.0262,
                "shots_off_target": 0.6061,
                "bench_appearance_probability": 0.585,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.19 (squad xG sum 0.9866, xG scale 1.2071, xA scale 1.4295, team xA 0.77 = 0.65 x lambda)",
              "stats": {
                "expected_goals": 0.1328,
                "goal_rate": 0.2047,
                "goals": 0,
                "shots_on_target": 0.4676,
                "total_shots": 1.0738,
                "expected_assists": 0.0304,
                "key_pass": 0.3742,
                "rating": 6.6062,
                "minutes": 25.88,
                "total_pass": 4.6137,
                "accurate_pass": 2.5988,
                "duels_won": 2.3766,
                "total_long_balls": 0.1299,
                "accurate_long_balls": 0.1037,
                "total_opp_half_passes": 3.5593,
                "accurate_opp_half_passes": 2.0053,
                "crosses_total": 0.4079,
                "crosses_accurate": 0.156,
                "touches": 11.6769,
                "possession_lost": 4.7997,
                "dispossessed": 0.4797,
                "duels_lost": 3.6713,
                "aerial_lost": 1.0415,
                "total_contest": 0.3059,
                "won_contest": 0.093,
                "ball_recovery": 0.7041,
                "challenges_lost": 0.0933,
                "fouls": 1.2299,
                "fouls_drawn": 0.975,
                "assist_rate": 0.1783,
                "assists": 0,
                "interceptions": 0.1404,
                "tackles_won": 0.0098,
                "tackles": 0.1989,
                "clearances": 0.0682,
                "blocks": 0.0308,
                "big_chances_created": 0.1798,
                "big_chances_missed": 0.4367,
                "xgot": 0.2514,
                "offsides": 0.0116,
                "ball_carries": 1.9751,
                "total_progression": 4.4707,
                "progressive_carries": 0.0262,
                "shots_off_target": 0.6061,
                "bench_appearance_probability": 0.585,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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,
                "finishing_factor": 1.0702,
                "creation_factor": 1.25
              },
              "params": {
                "team_lambda": 1.191,
                "squad_xg_sum": 0.9866,
                "squad_xa_sum": 0.5416,
                "team_expected_assists": 0.7742,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.2071,
                "xa_scale": 1.4295,
                "opponent_lambda": 2.266,
                "scoreline_reset": true,
                "appearance_weight": 0.585
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.188,
                  "after": 0.1328
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0363,
                  "after": 0.0304
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 16 by projected rating, fifa_overall 75.0)",
              "stats": {
                "expected_goals": 0.1328,
                "goal_rate": 0.2047,
                "goals": 0,
                "shots_on_target": 0.4676,
                "total_shots": 1.0738,
                "expected_assists": 0.0304,
                "key_pass": 0.3742,
                "rating": 6.6062,
                "minutes": 25.88,
                "total_pass": 4.6137,
                "accurate_pass": 2.5988,
                "duels_won": 2.3766,
                "total_long_balls": 0.1299,
                "accurate_long_balls": 0.1037,
                "total_opp_half_passes": 3.5593,
                "accurate_opp_half_passes": 2.0053,
                "crosses_total": 0.4079,
                "crosses_accurate": 0.156,
                "touches": 11.6769,
                "possession_lost": 4.7997,
                "dispossessed": 0.4797,
                "duels_lost": 3.6713,
                "aerial_lost": 1.0415,
                "total_contest": 0.3059,
                "won_contest": 0.093,
                "ball_recovery": 0.7041,
                "challenges_lost": 0.0933,
                "fouls": 1.2299,
                "fouls_drawn": 0.975,
                "assist_rate": 0.1783,
                "assists": 0,
                "interceptions": 0.1404,
                "tackles_won": 0.0098,
                "tackles": 0.1989,
                "clearances": 0.0682,
                "blocks": 0.0308,
                "big_chances_created": 0.1798,
                "big_chances_missed": 0.4367,
                "xgot": 0.2514,
                "offsides": 0.0116,
                "ball_carries": 1.9751,
                "total_progression": 4.4707,
                "progressive_carries": 0.0262,
                "shots_off_target": 0.6061,
                "bench_appearance_probability": 0.585,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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,
                "finishing_factor": 1.0702,
                "creation_factor": 1.25,
                "fifa_overall": 75.0
              },
              "params": {
                "match_squad_rank": 16,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 3474,
                "fifa_rank": 2418.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 75.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.1328,
                "goal_rate": 0.2047,
                "goals": 0,
                "shots_on_target": 0.4676,
                "total_shots": 1.0738,
                "expected_assists": 0.0304,
                "key_pass": 0.3742,
                "rating": 6.6062,
                "minutes": 25.88,
                "total_pass": 4.6137,
                "accurate_pass": 2.5988,
                "duels_won": 2.3766,
                "total_long_balls": 0.1299,
                "accurate_long_balls": 0.1037,
                "total_opp_half_passes": 3.5593,
                "accurate_opp_half_passes": 2.0053,
                "crosses_total": 0.4079,
                "crosses_accurate": 0.156,
                "touches": 11.6769,
                "possession_lost": 4.7997,
                "dispossessed": 0.4797,
                "duels_lost": 3.6713,
                "aerial_lost": 1.0415,
                "total_contest": 0.3059,
                "won_contest": 0.093,
                "ball_recovery": 0.7041,
                "challenges_lost": 0.0933,
                "fouls": 1.2299,
                "fouls_drawn": 0.975,
                "assist_rate": 0.1783,
                "assists": 0,
                "interceptions": 0.1404,
                "tackles_won": 0.0098,
                "tackles": 0.1989,
                "clearances": 0.0682,
                "blocks": 0.0308,
                "big_chances_created": 0.1798,
                "big_chances_missed": 0.4367,
                "xgot": 0.2514,
                "offsides": 0.0116,
                "ball_carries": 1.9751,
                "total_progression": 4.4707,
                "progressive_carries": 0.0262,
                "shots_off_target": 0.6061,
                "bench_appearance_probability": 0.585,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.1188,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0702,
                "creation_factor": 1.25,
                "fifa_overall": 75.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.1188,
                "goal_rate": 0.2047,
                "scorer_weight": 0.1421,
                "squad_weight_total": 1.3229,
                "weight_share": 0.1074,
                "finishing_factor": 1.0702,
                "appearance_weight": 0.585,
                "weight_rank": 4,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Roger Brugué",
                    "weight": 0.315,
                    "already": 0,
                    "effective_weight": 0.315,
                    "runner_up": "Iván Romero",
                    "runner_up_effective_weight": 0.2553
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.1328,
                "goal_rate": 0.2047,
                "goals": 0,
                "shots_on_target": 0.4676,
                "total_shots": 1.0738,
                "expected_assists": 0.0304,
                "key_pass": 0.3742,
                "rating": 6.6062,
                "minutes": 25.88,
                "total_pass": 4.6137,
                "accurate_pass": 2.5988,
                "duels_won": 2.3766,
                "total_long_balls": 0.1299,
                "accurate_long_balls": 0.1037,
                "total_opp_half_passes": 3.5593,
                "accurate_opp_half_passes": 2.0053,
                "crosses_total": 0.4079,
                "crosses_accurate": 0.156,
                "touches": 11.6769,
                "possession_lost": 4.7997,
                "dispossessed": 0.4797,
                "duels_lost": 3.6713,
                "aerial_lost": 1.0415,
                "total_contest": 0.3059,
                "won_contest": 0.093,
                "ball_recovery": 0.7041,
                "challenges_lost": 0.0933,
                "fouls": 1.2299,
                "fouls_drawn": 0.975,
                "assist_rate": 0.1783,
                "assists": 0,
                "interceptions": 0.1404,
                "tackles_won": 0.0098,
                "tackles": 0.1989,
                "clearances": 0.0682,
                "blocks": 0.0308,
                "big_chances_created": 0.1798,
                "big_chances_missed": 0.4367,
                "xgot": 0.2514,
                "offsides": 0.0116,
                "ball_carries": 1.9751,
                "total_progression": 4.4707,
                "progressive_carries": 0.0262,
                "shots_off_target": 0.6061,
                "bench_appearance_probability": 0.585,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.1188,
                "projected_assists": 0,
                "assist_probability": 0.0296,
                "finishing_factor": 1.0702,
                "creation_factor": 1.25,
                "fifa_overall": 75.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0296,
                "assist_rate": 0.1783,
                "provider_weight": 0.038,
                "squad_weight_total": 0.7982,
                "weight_share": 0.0476,
                "creation_factor": 1.25,
                "appearance_weight": 0.585,
                "weight_rank": 8,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Thiago Fernández",
                    "weight": 0.1951,
                    "already": 0,
                    "effective_weight": 0.1951,
                    "runner_up": "Jon Ander Olasagasti",
                    "runner_up_effective_weight": 0.1554,
                    "blocked_own_goal": [
                      "Roger Brugué"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Petar Ratkov": {
          "player_id": 1101942,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 10,
          "height": 187,
          "market_value": 8400000,
          "stats": {
            "expected_goals": 0.0585,
            "goal_rate": 0.0764,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0143,
            "key_pass": 0,
            "rating": 6.5994,
            "minutes": 26,
            "total_pass": 10,
            "accurate_pass": 7,
            "duels_won": 2,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 19,
            "possession_lost": 7.9571,
            "dispossessed": 1.3448,
            "duels_lost": 5,
            "aerial_lost": 2,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 1,
            "assist_rate": 0.0,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 2,
            "total_progression": 0,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.571,
            "bench_expected_minutes": 25.55,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.291,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0556,
            "projected_assists": 0,
            "assist_probability": 0.0141,
            "finishing_factor": 0.937,
            "creation_factor": 0.8,
            "fifa_overall": 68.0
          },
          "latest_10_games": [
            {
              "match_id": 16421086,
              "match_date": "2026-10-25",
              "home_team": "Real Sociedad",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 62,
                "rating": 6.3,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.01,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 10,
                "accurate_pass": 6,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 1,
                "clearances": 0,
                "aerial_won": 3,
                "duels_won": 3,
                "ball_recovery": 1,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 17122851,
              "match_date": "2026-10-21",
              "home_team": "Levante UD",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 72,
                "rating": 6.4,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0009,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 11,
                "accurate_pass": 7,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 2,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 1,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421063,
              "match_date": "2026-10-12",
              "home_team": "Levante UD",
              "away_team": "Sevilla",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 34,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1324,
                "expected_assists": 0.0281,
                "total_shots": 1,
                "total_pass": 8,
                "accurate_pass": 8,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416294,
              "match_date": "2026-09-20",
              "home_team": "Villarreal",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 11,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 1,
                "accurate_pass": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416329,
              "match_date": "2026-09-13",
              "home_team": "Levante UD",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 59,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.084,
                "expected_assists": 0.0009,
                "total_shots": 1,
                "total_pass": 11,
                "accurate_pass": 6,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 5795,
            "combined_rank_score": 4058.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 7956.0,
            "fifa_overall": 68.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.5994,
            "source_file": "data/player_rankings.csv",
            "player_name": "Petar Ratkov",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Samuel Mráz",
                  "ranking": 5790
                },
                {
                  "player_name": "José Sagredo",
                  "ranking": 5791
                },
                {
                  "player_name": "Jahmai Simpson-Pusey",
                  "ranking": 5792
                },
                {
                  "player_name": "Keisuke Gotō",
                  "ranking": 5793
                },
                {
                  "player_name": "Baltasar Barcia",
                  "ranking": 5794
                }
              ],
              "lower": [
                {
                  "player_name": "Ayoube Amaimouni",
                  "ranking": 5796
                },
                {
                  "player_name": "Robert Skov",
                  "ranking": 5797
                },
                {
                  "player_name": "Jonathan Perlaza",
                  "ranking": 5798
                },
                {
                  "player_name": "Juan Manuel Elordi",
                  "ranking": 5799
                },
                {
                  "player_name": "Marvin Friedrich",
                  "ranking": 5800
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.562,
          "history_matches": 5,
          "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",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "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",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 5,
            "data_confidence": 0.562,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 25.553793669464316,
            "bench_appearance_prob": 0.5706269849756507,
            "market_value_adjustment": 0.9998,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (5 historical appearances) to 25.6 expected mins (appearance prob 0.57)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.0722,
                "goals": 0.0649,
                "goal_rate": 0.0649,
                "shots_on_target": 0.2613,
                "total_shots": 0.6446,
                "expected_assists": 0.0149,
                "key_pass": 0.1886,
                "rating": 6.5994,
                "minutes": 21.72,
                "total_pass": 8.49,
                "accurate_pass": 5.7909,
                "duels_won": 1.9728,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 4.6049,
                "accurate_opp_half_passes": 2.8269,
                "crosses_total": 0.2696,
                "crosses_accurate": 0.0,
                "touches": 16.1432,
                "possession_lost": 6.7647,
                "dispossessed": 1.3451,
                "duels_lost": 4.6032,
                "aerial_lost": 2.1136,
                "total_contest": 0.4988,
                "won_contest": 0.2292,
                "ball_recovery": 1.1159,
                "challenges_lost": 0.6052,
                "fouls": 0.2696,
                "fouls_drawn": 0.6052,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.4104,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.4584,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.0792,
                "total_progression": 0.0,
                "progressive_carries": 0.1408,
                "shots_off_target": 0.3832
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-25",
                    "opponent": "Real Sociedad",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.2696,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-10-21",
                    "opponent": "Athletic Club",
                    "minutes": 72.0,
                    "is_starting": true,
                    "weight": 0.2292,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-10-12",
                    "opponent": "Sevilla",
                    "minutes": 34.0,
                    "is_starting": false,
                    "weight": 0.1948,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Villarreal",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.1656,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "FC Barcelona",
                    "minutes": 59.0,
                    "is_starting": true,
                    "weight": 0.1408,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 5.0,
                  "is_starting_11": 0.0,
                  "expectedGoals": 0.0376,
                  "accuratePass": 5.7909,
                  "totalOppositionHalfPasses": 4.6049,
                  "accurateOppositionHalfPasses": 2.8269,
                  "totalShots": 0.3356
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.07217010855674744,
                    "model_output": 0.0722,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0894
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0131
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0069
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0052
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0046
                        }
                      ],
                      "others": -0.0045,
                      "total": 0.0722,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.609194
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.13107
                        },
                        {
                          "name": "goals",
                          "margin": -0.076928
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.062163
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.057723
                        }
                      ],
                      "others_margin": -0.061692
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.06494764983654022,
                    "model_output": 0.0649,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0874
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0132
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0089
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.007
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0069
                        }
                      ],
                      "others": -0.0262,
                      "total": 0.0649,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.573018
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.123705
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.093443
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.074018
                        },
                        {
                          "name": "goals",
                          "margin": -0.073046
                        }
                      ],
                      "others_margin": -0.337921
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.26131656765937805,
                    "model_output": 0.2613,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2065
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0284
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0146
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": -0.0102
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0102
                        }
                      ],
                      "others": -0.0214,
                      "total": 0.2613,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.491154
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.091393
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.05035
                        },
                        {
                          "name": "totalShots_p90",
                          "margin": -0.036726
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.036702
                        }
                      ],
                      "others_margin": -0.078331
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.6445540189743042,
                    "model_output": 0.6446,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4839
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.1096
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0373
                        },
                        {
                          "name": "shotOffTarget",
                          "contribution": -0.0347
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": -0.028
                        }
                      ],
                      "others": -0.0421,
                      "total": 0.6446,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.483859
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.109624
                        },
                        {
                          "name": "goals",
                          "margin": -0.037256
                        },
                        {
                          "name": "shotOffTarget",
                          "margin": -0.034657
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": -0.027982
                        }
                      ],
                      "others_margin": -0.042219
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.014887590892612934,
                    "model_output": 0.0149,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0201
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0119
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0047
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.0025
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0022
                        }
                      ],
                      "others": -0.008,
                      "total": 0.0149,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "expectedAssists",
                          "margin": -0.374721
                        },
                        {
                          "name": "is_starting_11",
                          "margin": -0.314359
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.158274
                        },
                        {
                          "name": "keyPass",
                          "margin": -0.096831
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.090764
                        }
                      ],
                      "others_margin": -0.428206
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.18864040076732635,
                    "model_output": 0.1886,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2819
                        },
                        {
                          "name": "keyPass",
                          "contribution": -0.0417
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0329
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0255
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0228
                        }
                      ],
                      "others": -0.0933,
                      "total": 0.1886,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.528531
                        },
                        {
                          "name": "keyPass",
                          "margin": -0.108833
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.095
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.08053
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.077754
                        }
                      ],
                      "others_margin": -0.401461
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.5994486808776855,
                    "model_output": 6.5994,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0531
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0319
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0143
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0112
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0089
                        }
                      ],
                      "others": -0.052,
                      "total": 6.5994,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.053079
                        },
                        {
                          "name": "rating",
                          "margin": -0.031857
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.014336
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.011205
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.008887
                        }
                      ],
                      "others_margin": -0.052031
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 5,
                  "role_matches": 2,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "all_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9998, quality 0.503)",
              "stats": {
                "expected_goals": 0.0722,
                "goals": 0.0649,
                "goal_rate": 0.0649,
                "shots_on_target": 0.2613,
                "total_shots": 0.6444,
                "expected_assists": 0.0149,
                "key_pass": 0.1886,
                "rating": 6.5994,
                "minutes": 21.72,
                "total_pass": 8.4883,
                "accurate_pass": 5.7897,
                "duels_won": 1.9724,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 4.604,
                "accurate_opp_half_passes": 2.8263,
                "crosses_total": 0.2695,
                "crosses_accurate": 0.0,
                "touches": 16.14,
                "possession_lost": 6.7633,
                "dispossessed": 1.3448,
                "duels_lost": 4.6023,
                "aerial_lost": 2.1132,
                "total_contest": 0.4987,
                "won_contest": 0.2292,
                "ball_recovery": 1.1157,
                "challenges_lost": 0.6051,
                "fouls": 0.2695,
                "fouls_drawn": 0.6051,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.4103,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.4583,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.0788,
                "total_progression": 0.0,
                "progressive_carries": 0.1408,
                "shots_off_target": 0.3831
              },
              "params": {
                "market_value_eur": 8400000,
                "quality_factor": 0.5035,
                "boost_factor": 0.9998,
                "reference_quality": 0.505,
                "history_matches": 5,
                "history_shrink": 0.5,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 21.7 to 25.6 expected minutes (appearance prob 0.57)",
              "stats": {
                "expected_goals": 0.0849,
                "goals": 0.0764,
                "goal_rate": 0.0764,
                "shots_on_target": 0.3074,
                "total_shots": 0.7581,
                "expected_assists": 0.0175,
                "key_pass": 0.2219,
                "rating": 6.5994,
                "minutes": 25.55,
                "total_pass": 9.9866,
                "accurate_pass": 6.8116,
                "duels_won": 2.3205,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 5.4167,
                "accurate_opp_half_passes": 3.3252,
                "crosses_total": 0.3171,
                "crosses_accurate": 0.0,
                "touches": 18.9889,
                "possession_lost": 7.9571,
                "dispossessed": 1.3448,
                "duels_lost": 5.4147,
                "aerial_lost": 2.1132,
                "total_contest": 0.5867,
                "won_contest": 0.2697,
                "ball_recovery": 1.3126,
                "challenges_lost": 0.6051,
                "fouls": 0.3171,
                "fouls_drawn": 0.7119,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.4827,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.5392,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.4457,
                "total_progression": 0.0,
                "progressive_carries": 0.1657,
                "shots_off_target": 0.4507,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 25.55
              },
              "params": {
                "expected_minutes": 25.55,
                "projection_minutes": 21.72,
                "minutes_scale": 1.1765,
                "appearance_probability": 0.571
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0849,
                "goals": 0.0764,
                "goal_rate": 0.0764,
                "shots_on_target": 0.3074,
                "total_shots": 0.7581,
                "expected_assists": 0.0175,
                "key_pass": 0.2219,
                "rating": 6.5994,
                "minutes": 25.55,
                "total_pass": 9.9866,
                "accurate_pass": 6.8116,
                "duels_won": 2.3205,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 5.4167,
                "accurate_opp_half_passes": 3.3252,
                "crosses_total": 0.3171,
                "crosses_accurate": 0.0,
                "touches": 18.9889,
                "possession_lost": 7.9571,
                "dispossessed": 1.3448,
                "duels_lost": 5.4147,
                "aerial_lost": 2.1132,
                "total_contest": 0.5867,
                "won_contest": 0.2697,
                "ball_recovery": 1.3126,
                "challenges_lost": 0.6051,
                "fouls": 0.3171,
                "fouls_drawn": 0.7119,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.4827,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.5392,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.4457,
                "total_progression": 0.0,
                "progressive_carries": 0.1657,
                "shots_off_target": 0.4507,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 25.55
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.0849,
                "goal_rate": 0.0764,
                "goals": 0,
                "shots_on_target": 0.3074,
                "total_shots": 0.7581,
                "expected_assists": 0.0175,
                "key_pass": 0.2219,
                "rating": 6.5994,
                "minutes": 25.55,
                "total_pass": 9.9866,
                "accurate_pass": 6.8116,
                "duels_won": 2.3205,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 5.4167,
                "accurate_opp_half_passes": 3.3252,
                "crosses_total": 0.3171,
                "crosses_accurate": 0.0,
                "touches": 18.9889,
                "possession_lost": 7.9571,
                "dispossessed": 1.3448,
                "duels_lost": 5.4147,
                "aerial_lost": 2.1132,
                "total_contest": 0.5867,
                "won_contest": 0.2697,
                "ball_recovery": 1.3126,
                "challenges_lost": 0.6051,
                "fouls": 0.3171,
                "fouls_drawn": 0.7119,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.4827,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.5392,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.4457,
                "total_progression": 0.0,
                "progressive_carries": 0.1657,
                "shots_off_target": 0.4507,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 25.55,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.19 (squad xG sum 0.9866, xG scale 1.2071, xA scale 1.4295, team xA 0.77 = 0.65 x lambda)",
              "stats": {
                "expected_goals": 0.0585,
                "goal_rate": 0.0764,
                "goals": 0,
                "shots_on_target": 0.3074,
                "total_shots": 0.7581,
                "expected_assists": 0.0143,
                "key_pass": 0.2219,
                "rating": 6.5994,
                "minutes": 25.55,
                "total_pass": 9.9866,
                "accurate_pass": 6.8116,
                "duels_won": 2.3205,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 5.4167,
                "accurate_opp_half_passes": 3.3252,
                "crosses_total": 0.3171,
                "crosses_accurate": 0.0,
                "touches": 18.9889,
                "possession_lost": 7.9571,
                "dispossessed": 1.3448,
                "duels_lost": 5.4147,
                "aerial_lost": 2.1132,
                "total_contest": 0.5867,
                "won_contest": 0.2697,
                "ball_recovery": 1.3126,
                "challenges_lost": 0.6051,
                "fouls": 0.3171,
                "fouls_drawn": 0.7119,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.4827,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.5392,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.4457,
                "total_progression": 0.0,
                "progressive_carries": 0.1657,
                "shots_off_target": 0.4507,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 25.55,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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,
                "finishing_factor": 0.937,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 1.191,
                "squad_xg_sum": 0.9866,
                "squad_xa_sum": 0.5416,
                "team_expected_assists": 0.7742,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.2071,
                "xa_scale": 1.4295,
                "opponent_lambda": 2.266,
                "scoreline_reset": true,
                "appearance_weight": 0.571
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0849,
                  "after": 0.0585
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 17 by projected rating, fifa_overall 68.0)",
              "stats": {
                "expected_goals": 0.0585,
                "goal_rate": 0.0764,
                "goals": 0,
                "shots_on_target": 0.3074,
                "total_shots": 0.7581,
                "expected_assists": 0.0143,
                "key_pass": 0.2219,
                "rating": 6.5994,
                "minutes": 25.55,
                "total_pass": 9.9866,
                "accurate_pass": 6.8116,
                "duels_won": 2.3205,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 5.4167,
                "accurate_opp_half_passes": 3.3252,
                "crosses_total": 0.3171,
                "crosses_accurate": 0.0,
                "touches": 18.9889,
                "possession_lost": 7.9571,
                "dispossessed": 1.3448,
                "duels_lost": 5.4147,
                "aerial_lost": 2.1132,
                "total_contest": 0.5867,
                "won_contest": 0.2697,
                "ball_recovery": 1.3126,
                "challenges_lost": 0.6051,
                "fouls": 0.3171,
                "fouls_drawn": 0.7119,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.4827,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.5392,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.4457,
                "total_progression": 0.0,
                "progressive_carries": 0.1657,
                "shots_off_target": 0.4507,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 25.55,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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,
                "finishing_factor": 0.937,
                "creation_factor": 0.8,
                "fifa_overall": 68.0
              },
              "params": {
                "match_squad_rank": 17,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 5795,
                "fifa_rank": 7956.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 68.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.0585,
                "goal_rate": 0.0764,
                "goals": 0,
                "shots_on_target": 0.3074,
                "total_shots": 0.7581,
                "expected_assists": 0.0143,
                "key_pass": 0.2219,
                "rating": 6.5994,
                "minutes": 25.55,
                "total_pass": 9.9866,
                "accurate_pass": 6.8116,
                "duels_won": 2.3205,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 5.4167,
                "accurate_opp_half_passes": 3.3252,
                "crosses_total": 0.3171,
                "crosses_accurate": 0.0,
                "touches": 18.9889,
                "possession_lost": 7.9571,
                "dispossessed": 1.3448,
                "duels_lost": 5.4147,
                "aerial_lost": 2.1132,
                "total_contest": 0.5867,
                "won_contest": 0.2697,
                "ball_recovery": 1.3126,
                "challenges_lost": 0.6051,
                "fouls": 0.3171,
                "fouls_drawn": 0.7119,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.4827,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.5392,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.4457,
                "total_progression": 0.0,
                "progressive_carries": 0.1657,
                "shots_off_target": 0.4507,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 25.55,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0556,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.937,
                "creation_factor": 0.8,
                "fifa_overall": 68.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.0556,
                "goal_rate": 0.0764,
                "scorer_weight": 0.0548,
                "squad_weight_total": 1.3229,
                "weight_share": 0.0414,
                "finishing_factor": 0.937,
                "appearance_weight": 0.571,
                "weight_rank": 9,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Roger Brugué",
                    "weight": 0.315,
                    "already": 0,
                    "effective_weight": 0.315,
                    "runner_up": "Iván Romero",
                    "runner_up_effective_weight": 0.2553
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.0585,
                "goal_rate": 0.0764,
                "goals": 0,
                "shots_on_target": 0.3074,
                "total_shots": 0.7581,
                "expected_assists": 0.0143,
                "key_pass": 0.2219,
                "rating": 6.5994,
                "minutes": 25.55,
                "total_pass": 9.9866,
                "accurate_pass": 6.8116,
                "duels_won": 2.3205,
                "total_long_balls": 0.0,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 5.4167,
                "accurate_opp_half_passes": 3.3252,
                "crosses_total": 0.3171,
                "crosses_accurate": 0.0,
                "touches": 18.9889,
                "possession_lost": 7.9571,
                "dispossessed": 1.3448,
                "duels_lost": 5.4147,
                "aerial_lost": 2.1132,
                "total_contest": 0.5867,
                "won_contest": 0.2697,
                "ball_recovery": 1.3126,
                "challenges_lost": 0.6051,
                "fouls": 0.3171,
                "fouls_drawn": 0.7119,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.4827,
                "tackles_won": 0.0,
                "tackles": 0.0,
                "clearances": 0.5392,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.0,
                "ball_carries": 2.4457,
                "total_progression": 0.0,
                "progressive_carries": 0.1657,
                "shots_off_target": 0.4507,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 25.55,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0556,
                "projected_assists": 0,
                "assist_probability": 0.0141,
                "finishing_factor": 0.937,
                "creation_factor": 0.8,
                "fifa_overall": 68.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0141,
                "assist_rate": 0.0,
                "provider_weight": 0.0114,
                "squad_weight_total": 0.7982,
                "weight_share": 0.0143,
                "creation_factor": 0.8,
                "appearance_weight": 0.571,
                "weight_rank": 11,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Thiago Fernández",
                    "weight": 0.1951,
                    "already": 0,
                    "effective_weight": 0.1951,
                    "runner_up": "Jon Ander Olasagasti",
                    "runner_up_effective_weight": 0.1554,
                    "blocked_own_goal": [
                      "Roger Brugué"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "Enzo Bardeli": {
          "player_id": 996974,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 18,
          "height": 172,
          "market_value": 5800000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0268,
            "assist_rate": 0.0529,
            "assists": 0,
            "expected_goals": 0.0163,
            "goal_rate": 0.0295,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.6578,
            "minutes": 22,
            "total_pass": 14,
            "accurate_pass": 11,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 6,
            "accurate_own_half_passes": 6,
            "total_opp_half_passes": 8,
            "accurate_opp_half_passes": 6,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 21,
            "possession_lost": 5.5355,
            "dispossessed": 0.4367,
            "duels_lost": 2,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0027,
            "ball_carries": 6,
            "total_progression": 18,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.505,
            "bench_expected_minutes": 22.11,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.291,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.016,
            "projected_assists": 0,
            "assist_probability": 0.0261,
            "finishing_factor": 1.0365,
            "creation_factor": 1.1814,
            "fifa_overall": 73.0
          },
          "latest_10_games": [
            {
              "match_id": 16421070,
              "match_date": "2026-10-16",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 47,
                "rating": 6.4,
                "expected_goals": 0.1358,
                "expected_assists": 0.0067,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 19,
                "accurate_pass": 13,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416294,
              "match_date": "2026-09-20",
              "home_team": "Villarreal",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 72,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0052,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 14,
                "tackles": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416329,
              "match_date": "2026-09-13",
              "home_team": "Levante UD",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 31,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0501,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 4,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416320,
              "match_date": "2026-09-06",
              "home_team": "Málaga CF",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 77,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0658,
                "expected_assists": 0.1481,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 21,
                "accurate_pass": 16,
                "key_pass": 2,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 3,
                "duels_won": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416309,
              "match_date": "2026-08-29",
              "home_team": "Levante UD",
              "away_team": "Real Betis",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Real Betis",
              "stats": {
                "minutes": 65,
                "rating": 7.7,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.0193,
                "expected_assists": 0.1563,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 27,
                "accurate_pass": 25,
                "key_pass": 3,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416296,
              "match_date": "2026-08-24",
              "home_team": "Osasuna",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Levante UD",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1452,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 20,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421053,
              "match_date": "2026-08-16",
              "home_team": "Espanyol",
              "away_team": "Levante UD",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Levante UD",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 45,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0106,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 18,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 4002,
            "combined_rank_score": 1982.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 445.0,
            "sofascore_rating": 6.9,
            "sofascore_appearances": 3.0,
            "fifa_rank": 3520.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6578,
            "source_file": "data/player_rankings.csv",
            "player_name": "Enzo Bardeli",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Junior Sornoza",
                  "ranking": 3997
                },
                {
                  "player_name": "Tai Baribo",
                  "ranking": 3998
                },
                {
                  "player_name": "Claudio Echeverri",
                  "ranking": 3999
                },
                {
                  "player_name": "Turrientes",
                  "ranking": 4000
                },
                {
                  "player_name": "Agirrezabala",
                  "ranking": 4001
                }
              ],
              "lower": [
                {
                  "player_name": "Andrés García",
                  "ranking": 4003
                },
                {
                  "player_name": "Antoni Milambo",
                  "ranking": 4004
                },
                {
                  "player_name": "Loum Tchaouna",
                  "ranking": 4005
                },
                {
                  "player_name": "Marco Grüll",
                  "ranking": 4006
                },
                {
                  "player_name": "Soungoutou Magassa",
                  "ranking": 4007
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.688,
          "history_matches": 7,
          "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",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "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",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 7,
            "data_confidence": 0.688,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 22.109104686408813,
            "bench_appearance_prob": 0.5049593039276733,
            "market_value_adjustment": 0.9959,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost M_service (7 historical appearances) to 22.1 expected mins (appearance prob 0.50)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.4997,
                "expected_assists": 0.0476,
                "assists": 0.0678,
                "assist_rate": 0.0678,
                "expected_goals": 0.0342,
                "goals": 0.0379,
                "goal_rate": 0.0379,
                "shots_on_target": 0.1558,
                "total_shots": 0.3358,
                "rating": 6.6578,
                "minutes": 28.22,
                "total_pass": 18.3659,
                "accurate_pass": 14.6438,
                "duels_won": 1.7778,
                "total_long_balls": 0.4782,
                "accurate_long_balls": 0.3802,
                "total_own_half_passes": 7.8417,
                "accurate_own_half_passes": 7.053,
                "total_opp_half_passes": 10.5242,
                "accurate_opp_half_passes": 7.5908,
                "crosses_total": 1.987,
                "crosses_accurate": 0.5083,
                "touches": 26.937,
                "possession_lost": 7.0946,
                "dispossessed": 0.4385,
                "duels_lost": 2.4827,
                "aerial_won": 0.0,
                "aerial_lost": 0.4182,
                "interceptions": 0.787,
                "tackles_won": 0.6439,
                "tackles": 0.9671,
                "clearances": 0.2208,
                "total_contest": 0.4828,
                "won_contest": 0.3472,
                "challenges_lost": 0.8076,
                "fouls": 0.6829,
                "fouls_drawn": 0.4636,
                "blocks": 0.1877,
                "big_chances_created": 0.1257,
                "big_chances_missed": 0.0,
                "xgot": 0.0058,
                "ball_carries": 7.08,
                "total_progression": 22.6455,
                "progressive_carries": 0.5968,
                "shots_off_target": 0.18
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-16",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 47.0,
                    "is_starting": true,
                    "weight": 0.2208,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Villarreal",
                    "minutes": 72.0,
                    "is_starting": true,
                    "weight": 0.1877,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "FC Barcelona",
                    "minutes": 31.0,
                    "is_starting": false,
                    "weight": 0.1595,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Málaga CF",
                    "minutes": 77.0,
                    "is_starting": true,
                    "weight": 0.1356,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Real Betis",
                    "minutes": 65.0,
                    "is_starting": true,
                    "weight": 0.1152,
                    "rating": 7.7
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.098,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-16",
                    "opponent": "Espanyol",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.0833,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 7.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.4716,
                  "creative_index": 0.4271,
                  "expectedGoals": 0.0411,
                  "expectedAssists": 0.0636,
                  "totalOppositionHalfPasses": 10.5242
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.49973511695861816,
                    "model_output": 0.4997,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.386
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0262
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.0183
                        },
                        {
                          "name": "creative_efficiency",
                          "contribution": 0.0146
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0142
                        }
                      ],
                      "others": -0.0129,
                      "total": 0.4997,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.568346
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.050626
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": -0.035084
                        },
                        {
                          "name": "creative_efficiency",
                          "margin": 0.028196
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.027336
                        }
                      ],
                      "others_margin": -0.025507
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.0475885234773159,
                    "model_output": 0.0476,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0389
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0048
                        },
                        {
                          "name": "goalAssist",
                          "contribution": 0.0018
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": 0.0018
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0018
                        }
                      ],
                      "others": -0.005,
                      "total": 0.0476,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.612453
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.099
                        },
                        {
                          "name": "goalAssist",
                          "margin": 0.034522
                        },
                        {
                          "name": "cross_creative_contribution",
                          "margin": 0.034311
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.033016
                        }
                      ],
                      "others_margin": -0.101749
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.06778132915496826,
                    "model_output": 0.0678,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0246
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0058
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0055
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": 0.0045
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.0042
                        }
                      ],
                      "others": -0.001,
                      "total": 0.0678,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.341572
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.101336
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.096008
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": 0.071808
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.063486
                        }
                      ],
                      "others_margin": -0.015026
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.03421714901924133,
                    "model_output": 0.0342,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0416
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0076
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0042
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0038
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0024
                        }
                      ],
                      "others": 0.0024,
                      "total": 0.0342,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.607533
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.165856
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.104738
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.104209
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.071795
                        }
                      ],
                      "others_margin": 0.071281
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.037875570356845856,
                    "model_output": 0.0379,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0333
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0123
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.004
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0023
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0018
                        }
                      ],
                      "others": -0.0034,
                      "total": 0.0379,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.431513
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.222068
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.084415
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.051414
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.041719
                        }
                      ],
                      "others_margin": -0.088291
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.15584345161914825,
                    "model_output": 0.1558,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1231
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0465
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0146
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0104
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0073
                        }
                      ],
                      "others": 0.0102,
                      "total": 0.1558,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.489012
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.271779
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.093936
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.065815
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.049068
                        }
                      ],
                      "others_margin": 0.067606
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.33582496643066406,
                    "model_output": 0.3358,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3812
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.2135
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0445
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0154
                        },
                        {
                          "name": "totalPass",
                          "contribution": 0.0148
                        }
                      ],
                      "others": -0.0393,
                      "total": 0.3358,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.381184
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.213468
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.044455
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.015422
                        },
                        {
                          "name": "totalPass",
                          "margin": 0.014815
                        }
                      ],
                      "others_margin": -0.039414
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.657797813415527,
                    "model_output": 6.6578,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0685
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0347
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0282
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0181
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0101
                        }
                      ],
                      "others": -0.0378,
                      "total": 6.6578,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.068481
                        },
                        {
                          "name": "rating",
                          "margin": -0.034702
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.02822
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.018067
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.010062
                        }
                      ],
                      "others_margin": -0.037865
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 7,
                  "role_matches": 2,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "all_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9959, quality 0.472)",
              "stats": {
                "key_pass": 0.4977,
                "expected_assists": 0.0474,
                "assists": 0.0675,
                "assist_rate": 0.0675,
                "expected_goals": 0.0341,
                "goals": 0.0377,
                "goal_rate": 0.0377,
                "shots_on_target": 0.1552,
                "total_shots": 0.3345,
                "rating": 6.6578,
                "minutes": 28.22,
                "total_pass": 18.2906,
                "accurate_pass": 14.5838,
                "duels_won": 1.7705,
                "total_long_balls": 0.4762,
                "accurate_long_balls": 0.3786,
                "total_own_half_passes": 7.8095,
                "accurate_own_half_passes": 7.0241,
                "total_opp_half_passes": 10.4811,
                "accurate_opp_half_passes": 7.5597,
                "crosses_total": 1.9789,
                "crosses_accurate": 0.5062,
                "touches": 26.8266,
                "possession_lost": 7.0655,
                "dispossessed": 0.4367,
                "duels_lost": 2.4725,
                "aerial_won": 0.0,
                "aerial_lost": 0.4165,
                "interceptions": 0.7838,
                "tackles_won": 0.6413,
                "tackles": 0.9631,
                "clearances": 0.2199,
                "total_contest": 0.4808,
                "won_contest": 0.3458,
                "challenges_lost": 0.8043,
                "fouls": 0.6801,
                "fouls_drawn": 0.4617,
                "blocks": 0.1869,
                "big_chances_created": 0.1252,
                "big_chances_missed": 0.0,
                "xgot": 0.0058,
                "ball_carries": 7.051,
                "total_progression": 22.5527,
                "progressive_carries": 0.5944,
                "shots_off_target": 0.1793
              },
              "params": {
                "market_value_eur": 5800000,
                "quality_factor": 0.472,
                "boost_factor": 0.9959,
                "reference_quality": 0.505,
                "history_matches": 7,
                "history_shrink": 0.4167,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 28.2 to 22.1 expected minutes (appearance prob 0.50)",
              "stats": {
                "key_pass": 0.3899,
                "expected_assists": 0.0371,
                "assists": 0.0529,
                "assist_rate": 0.0529,
                "expected_goals": 0.0267,
                "goals": 0.0295,
                "goal_rate": 0.0295,
                "shots_on_target": 0.1216,
                "total_shots": 0.2621,
                "rating": 6.6578,
                "minutes": 22.11,
                "total_pass": 14.3299,
                "accurate_pass": 11.4258,
                "duels_won": 1.3871,
                "total_long_balls": 0.3731,
                "accurate_long_balls": 0.2966,
                "total_own_half_passes": 6.1184,
                "accurate_own_half_passes": 5.5031,
                "total_opp_half_passes": 8.2115,
                "accurate_opp_half_passes": 5.9227,
                "crosses_total": 1.5504,
                "crosses_accurate": 0.3966,
                "touches": 21.0174,
                "possession_lost": 5.5355,
                "dispossessed": 0.4367,
                "duels_lost": 1.9371,
                "aerial_won": 0.0,
                "aerial_lost": 0.4165,
                "interceptions": 0.6141,
                "tackles_won": 0.5024,
                "tackles": 0.7545,
                "clearances": 0.1723,
                "total_contest": 0.3767,
                "won_contest": 0.2709,
                "challenges_lost": 0.8043,
                "fouls": 0.5328,
                "fouls_drawn": 0.3617,
                "blocks": 0.1464,
                "big_chances_created": 0.0981,
                "big_chances_missed": 0.0,
                "xgot": 0.0045,
                "ball_carries": 5.5241,
                "total_progression": 17.669,
                "progressive_carries": 0.4657,
                "shots_off_target": 0.1405,
                "bench_appearance_probability": 0.505,
                "bench_expected_minutes": 22.11
              },
              "params": {
                "expected_minutes": 22.11,
                "projection_minutes": 28.22,
                "minutes_scale": 0.7835,
                "appearance_probability": 0.505
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.3899,
                "expected_assists": 0.0371,
                "assists": 0.0529,
                "assist_rate": 0.0529,
                "expected_goals": 0.0267,
                "goals": 0.0295,
                "goal_rate": 0.0295,
                "shots_on_target": 0.1216,
                "total_shots": 0.2621,
                "rating": 6.6578,
                "minutes": 22.11,
                "total_pass": 14.3299,
                "accurate_pass": 11.4258,
                "duels_won": 1.3871,
                "total_long_balls": 0.3731,
                "accurate_long_balls": 0.2966,
                "total_own_half_passes": 6.1184,
                "accurate_own_half_passes": 5.5031,
                "total_opp_half_passes": 8.2115,
                "accurate_opp_half_passes": 5.9227,
                "crosses_total": 1.5504,
                "crosses_accurate": 0.3966,
                "touches": 21.0174,
                "possession_lost": 5.5355,
                "dispossessed": 0.4367,
                "duels_lost": 1.9371,
                "aerial_won": 0.0,
                "aerial_lost": 0.4165,
                "interceptions": 0.6141,
                "tackles_won": 0.5024,
                "tackles": 0.7545,
                "clearances": 0.1723,
                "total_contest": 0.3767,
                "won_contest": 0.2709,
                "challenges_lost": 0.8043,
                "fouls": 0.5328,
                "fouls_drawn": 0.3617,
                "blocks": 0.1464,
                "big_chances_created": 0.0981,
                "big_chances_missed": 0.0,
                "xgot": 0.0045,
                "ball_carries": 5.5241,
                "total_progression": 17.669,
                "progressive_carries": 0.4657,
                "shots_off_target": 0.1405,
                "bench_appearance_probability": 0.505,
                "bench_expected_minutes": 22.11
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 1 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 0.3899,
                "expected_assists": 0.0371,
                "assist_rate": 0.0529,
                "assists": 0,
                "expected_goals": 0.0267,
                "goal_rate": 0.0295,
                "goals": 0,
                "shots_on_target": 0.1216,
                "total_shots": 0.2621,
                "rating": 6.6578,
                "minutes": 22.11,
                "total_pass": 14.3299,
                "accurate_pass": 11.4258,
                "duels_won": 1.3871,
                "total_long_balls": 0.3731,
                "accurate_long_balls": 0.2966,
                "total_own_half_passes": 6.1184,
                "accurate_own_half_passes": 5.5031,
                "total_opp_half_passes": 8.2115,
                "accurate_opp_half_passes": 5.9227,
                "crosses_total": 1.5504,
                "crosses_accurate": 0.3966,
                "touches": 21.0174,
                "possession_lost": 5.5355,
                "dispossessed": 0.4367,
                "duels_lost": 1.9371,
                "aerial_won": 0.0,
                "aerial_lost": 0.4165,
                "interceptions": 0.6141,
                "tackles_won": 0.5024,
                "tackles": 0.7545,
                "clearances": 0.1723,
                "total_contest": 0.3767,
                "won_contest": 0.2709,
                "challenges_lost": 0.8043,
                "fouls": 0.5328,
                "fouls_drawn": 0.3617,
                "blocks": 0.1464,
                "big_chances_created": 0.0981,
                "big_chances_missed": 0.0,
                "xgot": 0.0045,
                "ball_carries": 5.5241,
                "total_progression": 17.669,
                "progressive_carries": 0.4657,
                "shots_off_target": 0.1405,
                "bench_appearance_probability": 0.505,
                "bench_expected_minutes": 22.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 1
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 1.19 (squad xG sum 0.9866, xG scale 1.2071, xA scale 1.4295, team xA 0.77 = 0.65 x lambda)",
              "stats": {
                "key_pass": 0.3899,
                "expected_assists": 0.0268,
                "assist_rate": 0.0529,
                "assists": 0,
                "expected_goals": 0.0163,
                "goal_rate": 0.0295,
                "goals": 0,
                "shots_on_target": 0.1216,
                "total_shots": 0.2621,
                "rating": 6.6578,
                "minutes": 22.11,
                "total_pass": 14.3299,
                "accurate_pass": 11.4258,
                "duels_won": 1.3871,
                "total_long_balls": 0.3731,
                "accurate_long_balls": 0.2966,
                "total_own_half_passes": 6.1184,
                "accurate_own_half_passes": 5.5031,
                "total_opp_half_passes": 8.2115,
                "accurate_opp_half_passes": 5.9227,
                "crosses_total": 1.5504,
                "crosses_accurate": 0.3966,
                "touches": 21.0174,
                "possession_lost": 5.5355,
                "dispossessed": 0.4367,
                "duels_lost": 1.9371,
                "aerial_won": 0.0,
                "aerial_lost": 0.4165,
                "interceptions": 0.6141,
                "tackles_won": 0.5024,
                "tackles": 0.7545,
                "clearances": 0.1723,
                "total_contest": 0.3767,
                "won_contest": 0.2709,
                "challenges_lost": 0.8043,
                "fouls": 0.5328,
                "fouls_drawn": 0.3617,
                "blocks": 0.1464,
                "big_chances_created": 0.0981,
                "big_chances_missed": 0.0,
                "xgot": 0.0027,
                "ball_carries": 5.5241,
                "total_progression": 17.669,
                "progressive_carries": 0.4657,
                "shots_off_target": 0.1405,
                "bench_appearance_probability": 0.505,
                "bench_expected_minutes": 22.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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,
                "finishing_factor": 1.0365,
                "creation_factor": 1.1814
              },
              "params": {
                "team_lambda": 1.191,
                "squad_xg_sum": 0.9866,
                "squad_xa_sum": 0.5416,
                "team_expected_assists": 0.7742,
                "team_xa_to_xg_ratio": 0.65,
                "bench_appearance_weighted": true,
                "xg_scale": 1.2071,
                "xa_scale": 1.4295,
                "opponent_lambda": 2.266,
                "scoreline_reset": true,
                "appearance_weight": 0.505
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0267,
                  "after": 0.0163
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0371,
                  "after": 0.0268
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 15 by projected rating, fifa_overall 73.0)",
              "stats": {
                "key_pass": 0.3899,
                "expected_assists": 0.0268,
                "assist_rate": 0.0529,
                "assists": 0,
                "expected_goals": 0.0163,
                "goal_rate": 0.0295,
                "goals": 0,
                "shots_on_target": 0.1216,
                "total_shots": 0.2621,
                "rating": 6.6578,
                "minutes": 22.11,
                "total_pass": 14.3299,
                "accurate_pass": 11.4258,
                "duels_won": 1.3871,
                "total_long_balls": 0.3731,
                "accurate_long_balls": 0.2966,
                "total_own_half_passes": 6.1184,
                "accurate_own_half_passes": 5.5031,
                "total_opp_half_passes": 8.2115,
                "accurate_opp_half_passes": 5.9227,
                "crosses_total": 1.5504,
                "crosses_accurate": 0.3966,
                "touches": 21.0174,
                "possession_lost": 5.5355,
                "dispossessed": 0.4367,
                "duels_lost": 1.9371,
                "aerial_won": 0.0,
                "aerial_lost": 0.4165,
                "interceptions": 0.6141,
                "tackles_won": 0.5024,
                "tackles": 0.7545,
                "clearances": 0.1723,
                "total_contest": 0.3767,
                "won_contest": 0.2709,
                "challenges_lost": 0.8043,
                "fouls": 0.5328,
                "fouls_drawn": 0.3617,
                "blocks": 0.1464,
                "big_chances_created": 0.0981,
                "big_chances_missed": 0.0,
                "xgot": 0.0027,
                "ball_carries": 5.5241,
                "total_progression": 17.669,
                "progressive_carries": 0.4657,
                "shots_off_target": 0.1405,
                "bench_appearance_probability": 0.505,
                "bench_expected_minutes": 22.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "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,
                "finishing_factor": 1.0365,
                "creation_factor": 1.1814,
                "fifa_overall": 73.0
              },
              "params": {
                "match_squad_rank": 15,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 4002,
                "fifa_rank": 3520.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 73.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 0.3899,
                "expected_assists": 0.0268,
                "assist_rate": 0.0529,
                "assists": 0,
                "expected_goals": 0.0163,
                "goal_rate": 0.0295,
                "goals": 0,
                "shots_on_target": 0.1216,
                "total_shots": 0.2621,
                "rating": 6.6578,
                "minutes": 22.11,
                "total_pass": 14.3299,
                "accurate_pass": 11.4258,
                "duels_won": 1.3871,
                "total_long_balls": 0.3731,
                "accurate_long_balls": 0.2966,
                "total_own_half_passes": 6.1184,
                "accurate_own_half_passes": 5.5031,
                "total_opp_half_passes": 8.2115,
                "accurate_opp_half_passes": 5.9227,
                "crosses_total": 1.5504,
                "crosses_accurate": 0.3966,
                "touches": 21.0174,
                "possession_lost": 5.5355,
                "dispossessed": 0.4367,
                "duels_lost": 1.9371,
                "aerial_won": 0.0,
                "aerial_lost": 0.4165,
                "interceptions": 0.6141,
                "tackles_won": 0.5024,
                "tackles": 0.7545,
                "clearances": 0.1723,
                "total_contest": 0.3767,
                "won_contest": 0.2709,
                "challenges_lost": 0.8043,
                "fouls": 0.5328,
                "fouls_drawn": 0.3617,
                "blocks": 0.1464,
                "big_chances_created": 0.0981,
                "big_chances_missed": 0.0,
                "xgot": 0.0027,
                "ball_carries": 5.5241,
                "total_progression": 17.669,
                "progressive_carries": 0.4657,
                "shots_off_target": 0.1405,
                "bench_appearance_probability": 0.505,
                "bench_expected_minutes": 22.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.016,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0365,
                "creation_factor": 1.1814,
                "fifa_overall": 73.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 1,
                "goals_allocated": 0,
                "goal_probability": 0.016,
                "goal_rate": 0.0295,
                "scorer_weight": 0.0169,
                "squad_weight_total": 1.3229,
                "weight_share": 0.0128,
                "finishing_factor": 1.0365,
                "appearance_weight": 0.505,
                "weight_rank": 11,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Roger Brugué",
                    "weight": 0.315,
                    "already": 0,
                    "effective_weight": 0.315,
                    "runner_up": "Iván Romero",
                    "runner_up_effective_weight": 0.2553
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.3899,
                "expected_assists": 0.0268,
                "assist_rate": 0.0529,
                "assists": 0,
                "expected_goals": 0.0163,
                "goal_rate": 0.0295,
                "goals": 0,
                "shots_on_target": 0.1216,
                "total_shots": 0.2621,
                "rating": 6.6578,
                "minutes": 22.11,
                "total_pass": 14.3299,
                "accurate_pass": 11.4258,
                "duels_won": 1.3871,
                "total_long_balls": 0.3731,
                "accurate_long_balls": 0.2966,
                "total_own_half_passes": 6.1184,
                "accurate_own_half_passes": 5.5031,
                "total_opp_half_passes": 8.2115,
                "accurate_opp_half_passes": 5.9227,
                "crosses_total": 1.5504,
                "crosses_accurate": 0.3966,
                "touches": 21.0174,
                "possession_lost": 5.5355,
                "dispossessed": 0.4367,
                "duels_lost": 1.9371,
                "aerial_won": 0.0,
                "aerial_lost": 0.4165,
                "interceptions": 0.6141,
                "tackles_won": 0.5024,
                "tackles": 0.7545,
                "clearances": 0.1723,
                "total_contest": 0.3767,
                "won_contest": 0.2709,
                "challenges_lost": 0.8043,
                "fouls": 0.5328,
                "fouls_drawn": 0.3617,
                "blocks": 0.1464,
                "big_chances_created": 0.0981,
                "big_chances_missed": 0.0,
                "xgot": 0.0027,
                "ball_carries": 5.5241,
                "total_progression": 17.669,
                "progressive_carries": 0.4657,
                "shots_off_target": 0.1405,
                "bench_appearance_probability": 0.505,
                "bench_expected_minutes": 22.11,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.291,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.016,
                "projected_assists": 0,
                "assist_probability": 0.0261,
                "finishing_factor": 1.0365,
                "creation_factor": 1.1814,
                "fifa_overall": 73.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0261,
                "assist_rate": 0.0529,
                "provider_weight": 0.0317,
                "squad_weight_total": 0.7982,
                "weight_share": 0.0397,
                "creation_factor": 1.1814,
                "appearance_weight": 0.505,
                "weight_rank": 9,
                "eligible_players": 13,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Thiago Fernández",
                    "weight": 0.1951,
                    "already": 0,
                    "effective_weight": 0.1951,
                    "runner_up": "Jon Ander Olasagasti",
                    "runner_up_effective_weight": 0.1554,
                    "blocked_own_goal": [
                      "Roger Brugué"
                    ]
                  }
                ]
              }
            }
          ]
        }
      },
      "team_totals": {
        "projected_goals": 1,
        "expected_goals": 1.19,
        "expected_assists": 0.77,
        "total_shots": 10,
        "shots_on_target": 2,
        "total_passes": 354,
        "interceptions": 6,
        "tackles": 17,
        "avg_rating": 6.81,
        "possession_estimated_pct": 45.4,
        "pressing_actions_per_90": 6.3
      }
    },
    "Atlético Madrid": {
      "formation": "4-2-3-1",
      "players": {
        "Julián Alvarez": {
          "player_id": 944656,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 19,
          "height": 170,
          "market_value": 107000000,
          "stats": {
            "expected_goals": 0.5577,
            "goal_rate": 0.5491,
            "goals": 1,
            "shots_on_target": 1,
            "total_shots": 3,
            "expected_assists": 0.2056,
            "key_pass": 2,
            "rating": 7.2467,
            "minutes": 75,
            "total_pass": 30,
            "accurate_pass": 25,
            "duels_won": 4,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_opp_half_passes": 22,
            "accurate_opp_half_passes": 18,
            "crosses_total": 3,
            "crosses_accurate": 1,
            "touches": 46,
            "possession_lost": 10.824,
            "dispossessed": 0.9386,
            "duels_lost": 4,
            "aerial_lost": 1,
            "total_contest": 3,
            "won_contest": 2,
            "ball_recovery": 2,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "assist_rate": 0.2168,
            "assists": 1,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.5878,
            "offsides": 0,
            "ball_carries": 15,
            "total_progression": 48,
            "progressive_carries": 1,
            "shots_off_target": 2,
            "duel_xg_multiplier": 1.2095,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.6,
            "aerial_won": 1,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.342,
            "pressing_faced": "LOW",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
            "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
            "antagonist_source": "attacking_duel",
            "projected_goals": 1,
            "goal_probability": 0.4275,
            "projected_assists": 1,
            "assist_probability": 0.1858,
            "finishing_factor": 1.25,
            "creation_factor": 1.25,
            "fifa_overall": 86.0
          },
          "latest_10_games": [
            {
              "match_id": 16421082,
              "match_date": "2026-10-24",
              "home_team": "Atlético Madrid",
              "away_team": "Deportivo de A Coruña",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 8.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.5521,
                "expected_assists": 0.3726,
                "total_shots": 4,
                "shots_on_target": 2,
                "shots_off_target": 2,
                "total_pass": 40,
                "accurate_pass": 35,
                "key_pass": 5,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 5,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421071,
              "match_date": "2026-10-17",
              "home_team": "Espanyol",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 45,
                "rating": 7.8,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.2846,
                "expected_assists": 0.1139,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "total_pass": 29,
                "accurate_pass": 26,
                "key_pass": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Deportivo Alavés",
              "stats": {
                "minutes": 45,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1235,
                "expected_assists": 0.0202,
                "total_shots": 3,
                "shots_off_target": 1,
                "total_pass": 17,
                "accurate_pass": 16,
                "tackles": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416339,
              "match_date": "2026-09-20",
              "home_team": "Atlético Madrid",
              "away_team": "Real Madrid",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 28,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3341,
                "expected_assists": 0.0842,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 18,
                "accurate_pass": 17,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416317,
              "match_date": "2026-09-05",
              "home_team": "Athletic Club",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 31,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2286,
                "expected_assists": 0.0367,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 16,
                "accurate_pass": 16,
                "key_pass": 1,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416302,
              "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": 24,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0464,
                "expected_assists": 0.0167,
                "total_shots": 1,
                "total_pass": 10,
                "accurate_pass": 9,
                "key_pass": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14081807,
              "match_date": "2026-03-22",
              "home_team": "Real Madrid",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.2591,
                "expected_assists": 0.0344,
                "total_shots": 5,
                "shots_on_target": 1,
                "shots_off_target": 4,
                "total_pass": 47,
                "accurate_pass": 42,
                "key_pass": 1,
                "tackles": 5,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083612,
              "match_date": "2026-03-14",
              "home_team": "Atlético Madrid",
              "away_team": "Getafe",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Getafe",
              "stats": {
                "minutes": 24,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2889,
                "expected_assists": 0.1596,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 17,
                "accurate_pass": 15,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083602,
              "match_date": "2026-03-07",
              "home_team": "Atlético Madrid",
              "away_team": "Real Sociedad",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 37,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.4966,
                "total_shots": 0,
                "total_pass": 17,
                "accurate_pass": 13,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14081795,
              "match_date": "2026-02-28",
              "home_team": "Real Oviedo",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Real Oviedo",
              "stats": {
                "minutes": 45,
                "rating": 7.8,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2713,
                "expected_assists": 0.0973,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 21,
                "accurate_pass": 20,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 66,
            "combined_rank_score": 77.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 80.0,
            "sofascore_rating": 7.5533,
            "sofascore_appearances": 15.0,
            "fifa_rank": 75.0,
            "fifa_overall": 86.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 7.2467,
            "source_file": "data/player_rankings.csv",
            "player_name": "Julián Alvarez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Rúben Dias",
                  "ranking": 61
                },
                {
                  "player_name": "Luis Díaz",
                  "ranking": 62
                },
                {
                  "player_name": "Max Weiss",
                  "ranking": 63
                },
                {
                  "player_name": "Paul Villero",
                  "ranking": 64
                },
                {
                  "player_name": "Cucurella",
                  "ranking": 65
                }
              ],
              "lower": [
                {
                  "player_name": "Jamshid Iskandarov",
                  "ranking": 67
                },
                {
                  "player_name": "Emiliano Martínez",
                  "ranking": 68
                },
                {
                  "player_name": "Cole Palmer",
                  "ranking": 69
                },
                {
                  "player_name": "David Raya",
                  "ranking": 70
                },
                {
                  "player_name": "Granit Xhaka",
                  "ranking": 71
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.753,
          "history_matches": 35,
          "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",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "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",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 35,
            "data_confidence": 0.753,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0146,
            "fbref_prior_metrics": {
              "squad": "Atlético Madrid",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "minutes": 25.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 3.6,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.02
            },
            "rationale": "XGBoost regressor (F_service) evaluated 35 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Atlético Madrid, rel: 0.02, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.3205,
                "goals": 0.4482,
                "goal_rate": 0.4482,
                "shots_on_target": 1.1456,
                "total_shots": 2.4889,
                "expected_assists": 0.1429,
                "key_pass": 1.8477,
                "rating": 7.2467,
                "minutes": 75.39,
                "total_pass": 29.6613,
                "accurate_pass": 24.7418,
                "duels_won": 3.9315,
                "total_long_balls": 1.0784,
                "accurate_long_balls": 0.8008,
                "total_opp_half_passes": 21.9352,
                "accurate_opp_half_passes": 18.2119,
                "crosses_total": 2.7543,
                "crosses_accurate": 0.756,
                "touches": 45.1275,
                "possession_lost": 10.6682,
                "dispossessed": 0.9251,
                "duels_lost": 4.0082,
                "aerial_lost": 0.4985,
                "total_contest": 2.8628,
                "won_contest": 1.6703,
                "ball_recovery": 1.9834,
                "challenges_lost": 0.7922,
                "fouls": 0.63,
                "fouls_drawn": 0.6922,
                "assists": 0.2141,
                "assist_rate": 0.2141,
                "interceptions": 0.15,
                "tackles_won": 0.8406,
                "tackles": 1.3512,
                "clearances": 0.1917,
                "blocks": 0.0,
                "big_chances_created": 0.4511,
                "big_chances_missed": 0.294,
                "xgot": 0.3378,
                "offsides": 0.0,
                "ball_carries": 15.2564,
                "total_progression": 47.5017,
                "progressive_carries": 1.3986,
                "shots_off_target": 1.3433
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1505,
                    "rating": 8.1
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Espanyol",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.1279,
                    "rating": 7.8
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Deportivo Alavés",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.1087,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Real Madrid",
                    "minutes": 28.0,
                    "is_starting": false,
                    "weight": 0.0924,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Athletic Club",
                    "minutes": 31.0,
                    "is_starting": false,
                    "weight": 0.0786,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-23",
                    "opponent": "Villarreal",
                    "minutes": 24.0,
                    "is_starting": false,
                    "weight": 0.0668,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-03-22",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0568,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-03-14",
                    "opponent": "Getafe",
                    "minutes": 24.0,
                    "is_starting": false,
                    "weight": 0.0482,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-03-07",
                    "opponent": "Real Sociedad",
                    "minutes": 37.0,
                    "is_starting": false,
                    "weight": 0.041,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-02-28",
                    "opponent": "Real Oviedo",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.0349,
                    "rating": 7.8
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "expectedGoals": 0.2456,
                  "accuratePass": 20.9298,
                  "totalOppositionHalfPasses": 18.3734,
                  "accurateOppositionHalfPasses": 16.2127,
                  "totalShots": 2.3906
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.3204551041126251,
                    "model_output": 0.3205,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0603
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0472
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0199
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0114
                        },
                        {
                          "name": "bigChanceMissed",
                          "contribution": 0.0107
                        }
                      ],
                      "others": 0.0149,
                      "total": 0.3205,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.268195
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.168958
                        },
                        {
                          "name": "goals",
                          "margin": -0.067744
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.03958
                        },
                        {
                          "name": "bigChanceMissed",
                          "margin": 0.035627
                        }
                      ],
                      "others_margin": 0.047331
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.4481939375400543,
                    "model_output": 0.4482,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0801
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0392
                        },
                        {
                          "name": "totalShots_p90",
                          "contribution": 0.0211
                        },
                        {
                          "name": "wasFouled",
                          "contribution": 0.021
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0203
                        }
                      ],
                      "others": 0.066,
                      "total": 0.4482,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.336176
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.13088
                        },
                        {
                          "name": "totalShots_p90",
                          "margin": 0.063879
                        },
                        {
                          "name": "wasFouled",
                          "margin": 0.059747
                        },
                        {
                          "name": "goals",
                          "margin": 0.054655
                        }
                      ],
                      "others_margin": 0.159192
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 1.1455659866333008,
                    "model_output": 1.1456,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1752
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.057
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0562
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0567
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": 0.0596
                        }
                      ],
                      "others": 0.2087,
                      "total": 1.1456,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.284549
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.077553
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.0709
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.066815
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": 0.065774
                        }
                      ],
                      "others_margin": 0.20108
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 2.488893747329712,
                    "model_output": 2.4889,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.5064
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.2295
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0791
                        },
                        {
                          "name": "shotOffTarget",
                          "contribution": 0.0486
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0456
                        }
                      ],
                      "others": 0.1995,
                      "total": 2.4889,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.506362
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.229525
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.079111
                        },
                        {
                          "name": "shotOffTarget",
                          "margin": 0.048649
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.045555
                        }
                      ],
                      "others_margin": 0.199539
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.14291508495807648,
                    "model_output": 0.1429,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0147
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0118
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0096
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0094
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0069
                        }
                      ],
                      "others": 0.04,
                      "total": 0.1429,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.205774
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.139194
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.100962
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.089667
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.06501
                        }
                      ],
                      "others_margin": 0.327982
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 1.847715973854065,
                    "model_output": 1.8477,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.2192
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.1304
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.1299
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.1063
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0803
                        }
                      ],
                      "others": 0.6555,
                      "total": 1.8477,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.277073
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.134458
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.118085
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.087227
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.065183
                        }
                      ],
                      "others_margin": 0.438095
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.246726989746094,
                    "model_output": 7.2467,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0835
                        },
                        {
                          "name": "rating",
                          "contribution": 0.056
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0438
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": 0.0345
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0273
                        }
                      ],
                      "others": 0.2308,
                      "total": 7.2467,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.083475
                        },
                        {
                          "name": "rating",
                          "margin": 0.056044
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.043768
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": 0.034486
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.027256
                        }
                      ],
                      "others_margin": 0.230854
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 35,
                  "role_matches": 23,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0146, quality 0.895)",
              "stats": {
                "expected_goals": 0.3251,
                "goals": 0.4547,
                "goal_rate": 0.4547,
                "shots_on_target": 1.1623,
                "total_shots": 2.5252,
                "expected_assists": 0.145,
                "key_pass": 1.8747,
                "rating": 7.2467,
                "minutes": 75.39,
                "total_pass": 30.0944,
                "accurate_pass": 25.103,
                "duels_won": 3.9889,
                "total_long_balls": 1.0941,
                "accurate_long_balls": 0.8125,
                "total_opp_half_passes": 22.2555,
                "accurate_opp_half_passes": 18.4778,
                "crosses_total": 2.7945,
                "crosses_accurate": 0.767,
                "touches": 45.7864,
                "possession_lost": 10.824,
                "dispossessed": 0.9386,
                "duels_lost": 4.0667,
                "aerial_lost": 0.5058,
                "total_contest": 2.9046,
                "won_contest": 1.6947,
                "ball_recovery": 2.0124,
                "challenges_lost": 0.8038,
                "fouls": 0.6392,
                "fouls_drawn": 0.7023,
                "assists": 0.2172,
                "assist_rate": 0.2172,
                "interceptions": 0.1522,
                "tackles_won": 0.8529,
                "tackles": 1.3709,
                "clearances": 0.1945,
                "blocks": 0.0,
                "big_chances_created": 0.4577,
                "big_chances_missed": 0.2983,
                "xgot": 0.3427,
                "offsides": 0.0,
                "ball_carries": 15.4791,
                "total_progression": 48.1952,
                "progressive_carries": 1.419,
                "shots_off_target": 1.3629
              },
              "params": {
                "market_value_eur": 107000000,
                "quality_factor": 0.8953,
                "boost_factor": 1.0146,
                "reference_quality": 0.505,
                "history_matches": 35,
                "history_shrink": 0.125,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0016)",
              "stats": {
                "expected_goals": 0.3251,
                "goals": 0.454,
                "goal_rate": 0.454,
                "shots_on_target": 1.1604,
                "total_shots": 2.526,
                "expected_assists": 0.145,
                "key_pass": 1.8747,
                "rating": 7.2467,
                "minutes": 75.39,
                "total_pass": 30.0944,
                "accurate_pass": 25.103,
                "duels_won": 3.9889,
                "total_long_balls": 1.0941,
                "accurate_long_balls": 0.8125,
                "total_opp_half_passes": 22.2555,
                "accurate_opp_half_passes": 18.4778,
                "crosses_total": 2.79,
                "crosses_accurate": 0.767,
                "touches": 45.7864,
                "possession_lost": 10.824,
                "dispossessed": 0.9386,
                "duels_lost": 4.0667,
                "aerial_lost": 0.5058,
                "total_contest": 2.9046,
                "won_contest": 1.6947,
                "ball_recovery": 2.0124,
                "challenges_lost": 0.8038,
                "fouls": 0.6382,
                "fouls_drawn": 0.7012,
                "assists": 0.2168,
                "assist_rate": 0.2168,
                "interceptions": 0.152,
                "tackles_won": 0.8515,
                "tackles": 1.3709,
                "clearances": 0.1945,
                "blocks": 0.0,
                "big_chances_created": 0.4577,
                "big_chances_missed": 0.2983,
                "xgot": 0.3427,
                "offsides": 0.0,
                "ball_carries": 15.4791,
                "total_progression": 48.1952,
                "progressive_carries": 1.419,
                "shots_off_target": 1.3629
              },
              "params": {
                "blend_weight": 0.0016,
                "history_matches": 35,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.8377,
                "prior_reliability": 0.02,
                "competition": "La Liga",
                "squad": "Atlético Madrid"
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.3251,
                "goals": 0.454,
                "goal_rate": 0.454,
                "shots_on_target": 1.1604,
                "total_shots": 2.526,
                "expected_assists": 0.145,
                "key_pass": 1.8747,
                "rating": 7.2467,
                "minutes": 75.39,
                "total_pass": 30.0944,
                "accurate_pass": 25.103,
                "duels_won": 3.9889,
                "total_long_balls": 1.0941,
                "accurate_long_balls": 0.8125,
                "total_opp_half_passes": 22.2555,
                "accurate_opp_half_passes": 18.4778,
                "crosses_total": 2.79,
                "crosses_accurate": 0.767,
                "touches": 45.7864,
                "possession_lost": 10.824,
                "dispossessed": 0.9386,
                "duels_lost": 4.0667,
                "aerial_lost": 0.5058,
                "total_contest": 2.9046,
                "won_contest": 1.6947,
                "ball_recovery": 2.0124,
                "challenges_lost": 0.8038,
                "fouls": 0.6382,
                "fouls_drawn": 0.7012,
                "assists": 0.2168,
                "assist_rate": 0.2168,
                "interceptions": 0.152,
                "tackles_won": 0.8515,
                "tackles": 1.3709,
                "clearances": 0.1945,
                "blocks": 0.0,
                "big_chances_created": 0.4577,
                "big_chances_missed": 0.2983,
                "xgot": 0.3427,
                "offsides": 0.0,
                "ball_carries": 15.4791,
                "total_progression": 48.1952,
                "progressive_carries": 1.419,
                "shots_off_target": 1.3629
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.3932,
                "goals": 0.5491,
                "goal_rate": 0.5491,
                "shots_on_target": 1.4035,
                "total_shots": 3.0552,
                "expected_assists": 0.145,
                "key_pass": 1.8747,
                "rating": 7.2467,
                "minutes": 75.39,
                "total_pass": 30.0944,
                "accurate_pass": 25.103,
                "duels_won": 3.9889,
                "total_long_balls": 1.0941,
                "accurate_long_balls": 0.8125,
                "total_opp_half_passes": 22.2555,
                "accurate_opp_half_passes": 18.4778,
                "crosses_total": 2.79,
                "crosses_accurate": 0.767,
                "touches": 45.7864,
                "possession_lost": 10.824,
                "dispossessed": 0.9386,
                "duels_lost": 4.0667,
                "aerial_lost": 0.5058,
                "total_contest": 2.9046,
                "won_contest": 1.6947,
                "ball_recovery": 2.0124,
                "challenges_lost": 0.8038,
                "fouls": 0.6382,
                "fouls_drawn": 0.7012,
                "assists": 0.2168,
                "assist_rate": 0.2168,
                "interceptions": 0.152,
                "tackles_won": 0.8515,
                "tackles": 1.3709,
                "clearances": 0.1945,
                "blocks": 0.0,
                "big_chances_created": 0.4577,
                "big_chances_missed": 0.3608,
                "xgot": 0.4145,
                "offsides": 0.0,
                "ball_carries": 15.4791,
                "total_progression": 48.1952,
                "progressive_carries": 1.419,
                "shots_off_target": 1.6484,
                "duel_xg_multiplier": 1.2095,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.6,
                "aerial_won": 1.2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.342,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
                "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                "antagonist_source": "attacking_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                  "duel_win_rate": 0.342,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v2",
                  "xg_multiplier": 1.2095,
                  "skill_edge": 0.2025,
                  "height_edge": -0.06,
                  "attacker_skill": 0.8953,
                  "defender_skill": 0.4453,
                  "attacker_role": "ST",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Aïssa Mandi",
                      "market_value": 1100000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.4374
                    },
                    {
                      "player": "Ifeanyi Ndukwe",
                      "market_value": 3200000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.4531
                    }
                  ],
                  "xg_override": 0.3932
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 2.526,
                  "after": 3.0552
                },
                {
                  "stat": "shotOffTarget",
                  "before": 1.3629,
                  "after": 1.6484
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 1.1604,
                  "after": 1.4035
                },
                {
                  "stat": "goals",
                  "before": 0.454,
                  "after": 0.5491
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.3427,
                  "after": 0.4145
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.3251,
                  "after": 0.3932
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.2983,
                  "after": 0.3608
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.3932,
                "goal_rate": 0.5491,
                "goals": 0,
                "shots_on_target": 1.4035,
                "total_shots": 3.0552,
                "expected_assists": 0.145,
                "key_pass": 1.8747,
                "rating": 7.2467,
                "minutes": 75.39,
                "total_pass": 30.0944,
                "accurate_pass": 25.103,
                "duels_won": 3.9889,
                "total_long_balls": 1.0941,
                "accurate_long_balls": 0.8125,
                "total_opp_half_passes": 22.2555,
                "accurate_opp_half_passes": 18.4778,
                "crosses_total": 2.79,
                "crosses_accurate": 0.767,
                "touches": 45.7864,
                "possession_lost": 10.824,
                "dispossessed": 0.9386,
                "duels_lost": 4.0667,
                "aerial_lost": 0.5058,
                "total_contest": 2.9046,
                "won_contest": 1.6947,
                "ball_recovery": 2.0124,
                "challenges_lost": 0.8038,
                "fouls": 0.6382,
                "fouls_drawn": 0.7012,
                "assist_rate": 0.2168,
                "assists": 0,
                "interceptions": 0.152,
                "tackles_won": 0.8515,
                "tackles": 1.3709,
                "clearances": 0.1945,
                "blocks": 0.0,
                "big_chances_created": 0.4577,
                "big_chances_missed": 0.3608,
                "xgot": 0.4145,
                "offsides": 0.0,
                "ball_carries": 15.4791,
                "total_progression": 48.1952,
                "progressive_carries": 1.419,
                "shots_off_target": 1.6484,
                "duel_xg_multiplier": 1.2095,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.6,
                "aerial_won": 1.2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.342,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
                "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              },
              "changes": [
                {
                  "stat": "goals",
                  "before": 1.0,
                  "after": 0
                }
              ]
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 2.27 (squad xG sum 1.5979, xG scale 1.4181, xA scale 1.4181, team xA 1.65 = 0.73 x lambda)",
              "stats": {
                "expected_goals": 0.5577,
                "goal_rate": 0.5491,
                "goals": 0,
                "shots_on_target": 1.4035,
                "total_shots": 3.0552,
                "expected_assists": 0.2056,
                "key_pass": 1.8747,
                "rating": 7.2467,
                "minutes": 75.39,
                "total_pass": 30.0944,
                "accurate_pass": 25.103,
                "duels_won": 3.9889,
                "total_long_balls": 1.0941,
                "accurate_long_balls": 0.8125,
                "total_opp_half_passes": 22.2555,
                "accurate_opp_half_passes": 18.4778,
                "crosses_total": 2.79,
                "crosses_accurate": 0.767,
                "touches": 45.7864,
                "possession_lost": 10.824,
                "dispossessed": 0.9386,
                "duels_lost": 4.0667,
                "aerial_lost": 0.5058,
                "total_contest": 2.9046,
                "won_contest": 1.6947,
                "ball_recovery": 2.0124,
                "challenges_lost": 0.8038,
                "fouls": 0.6382,
                "fouls_drawn": 0.7012,
                "assist_rate": 0.2168,
                "assists": 0,
                "interceptions": 0.152,
                "tackles_won": 0.8515,
                "tackles": 1.3709,
                "clearances": 0.1945,
                "blocks": 0.0,
                "big_chances_created": 0.4577,
                "big_chances_missed": 0.3608,
                "xgot": 0.5878,
                "offsides": 0.0,
                "ball_carries": 15.4791,
                "total_progression": 48.1952,
                "progressive_carries": 1.419,
                "shots_off_target": 1.6484,
                "duel_xg_multiplier": 1.2095,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.6,
                "aerial_won": 1.2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.342,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
                "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.25,
                "creation_factor": 1.25
              },
              "params": {
                "team_lambda": 2.266,
                "squad_xg_sum": 1.5979,
                "squad_xa_sum": 1.1609,
                "team_expected_assists": 1.6463,
                "team_xa_to_xg_ratio": 0.7265,
                "bench_appearance_weighted": true,
                "xg_scale": 1.4181,
                "xa_scale": 1.4181,
                "opponent_lambda": 1.191,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.3932,
                  "after": 0.5577
                },
                {
                  "stat": "expected_assists",
                  "before": 0.145,
                  "after": 0.2056
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 1 by projected rating, fifa_overall 86.0)",
              "stats": {
                "expected_goals": 0.5577,
                "goal_rate": 0.5491,
                "goals": 0,
                "shots_on_target": 1.4035,
                "total_shots": 3.0552,
                "expected_assists": 0.2056,
                "key_pass": 1.8747,
                "rating": 7.2467,
                "minutes": 75.39,
                "total_pass": 30.0944,
                "accurate_pass": 25.103,
                "duels_won": 3.9889,
                "total_long_balls": 1.0941,
                "accurate_long_balls": 0.8125,
                "total_opp_half_passes": 22.2555,
                "accurate_opp_half_passes": 18.4778,
                "crosses_total": 2.79,
                "crosses_accurate": 0.767,
                "touches": 45.7864,
                "possession_lost": 10.824,
                "dispossessed": 0.9386,
                "duels_lost": 4.0667,
                "aerial_lost": 0.5058,
                "total_contest": 2.9046,
                "won_contest": 1.6947,
                "ball_recovery": 2.0124,
                "challenges_lost": 0.8038,
                "fouls": 0.6382,
                "fouls_drawn": 0.7012,
                "assist_rate": 0.2168,
                "assists": 0,
                "interceptions": 0.152,
                "tackles_won": 0.8515,
                "tackles": 1.3709,
                "clearances": 0.1945,
                "blocks": 0.0,
                "big_chances_created": 0.4577,
                "big_chances_missed": 0.3608,
                "xgot": 0.5878,
                "offsides": 0.0,
                "ball_carries": 15.4791,
                "total_progression": 48.1952,
                "progressive_carries": 1.419,
                "shots_off_target": 1.6484,
                "duel_xg_multiplier": 1.2095,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.6,
                "aerial_won": 1.2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.342,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
                "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.25,
                "creation_factor": 1.25,
                "fifa_overall": 86.0
              },
              "params": {
                "match_squad_rank": 1,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 66,
                "fifa_rank": 75.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 86.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.5577,
                "goal_rate": 0.5491,
                "goals": 1,
                "shots_on_target": 1.4035,
                "total_shots": 3.0552,
                "expected_assists": 0.2056,
                "key_pass": 1.8747,
                "rating": 7.2467,
                "minutes": 75.39,
                "total_pass": 30.0944,
                "accurate_pass": 25.103,
                "duels_won": 3.9889,
                "total_long_balls": 1.0941,
                "accurate_long_balls": 0.8125,
                "total_opp_half_passes": 22.2555,
                "accurate_opp_half_passes": 18.4778,
                "crosses_total": 2.79,
                "crosses_accurate": 0.767,
                "touches": 45.7864,
                "possession_lost": 10.824,
                "dispossessed": 0.9386,
                "duels_lost": 4.0667,
                "aerial_lost": 0.5058,
                "total_contest": 2.9046,
                "won_contest": 1.6947,
                "ball_recovery": 2.0124,
                "challenges_lost": 0.8038,
                "fouls": 0.6382,
                "fouls_drawn": 0.7012,
                "assist_rate": 0.2168,
                "assists": 0,
                "interceptions": 0.152,
                "tackles_won": 0.8515,
                "tackles": 1.3709,
                "clearances": 0.1945,
                "blocks": 0.0,
                "big_chances_created": 0.4577,
                "big_chances_missed": 0.3608,
                "xgot": 0.5878,
                "offsides": 0.0,
                "ball_carries": 15.4791,
                "total_progression": 48.1952,
                "progressive_carries": 1.419,
                "shots_off_target": 1.6484,
                "duel_xg_multiplier": 1.2095,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.6,
                "aerial_won": 1.2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.342,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
                "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.4275,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.25,
                "creation_factor": 1.25,
                "fifa_overall": 86.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 1,
                "goal_probability": 0.4275,
                "goal_rate": 0.5491,
                "scorer_weight": 0.6971,
                "squad_weight_total": 2.4769,
                "weight_share": 0.2814,
                "finishing_factor": 1.25,
                "appearance_weight": 1.0,
                "weight_rank": 1,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.6971,
                    "already": 0,
                    "effective_weight": 0.6971,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.3346
                  },
                  {
                    "n": 2,
                    "player": "Alex Baena",
                    "weight": 0.3346,
                    "already": 0,
                    "effective_weight": 0.3346,
                    "runner_up": "Kang-in Lee",
                    "runner_up_effective_weight": 0.3062
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.5577,
                "goal_rate": 0.5491,
                "goals": 1,
                "shots_on_target": 1.4035,
                "total_shots": 3.0552,
                "expected_assists": 0.2056,
                "key_pass": 1.8747,
                "rating": 7.2467,
                "minutes": 75.39,
                "total_pass": 30.0944,
                "accurate_pass": 25.103,
                "duels_won": 3.9889,
                "total_long_balls": 1.0941,
                "accurate_long_balls": 0.8125,
                "total_opp_half_passes": 22.2555,
                "accurate_opp_half_passes": 18.4778,
                "crosses_total": 2.79,
                "crosses_accurate": 0.767,
                "touches": 45.7864,
                "possession_lost": 10.824,
                "dispossessed": 0.9386,
                "duels_lost": 4.0667,
                "aerial_lost": 0.5058,
                "total_contest": 2.9046,
                "won_contest": 1.6947,
                "ball_recovery": 2.0124,
                "challenges_lost": 0.8038,
                "fouls": 0.6382,
                "fouls_drawn": 0.7012,
                "assist_rate": 0.2168,
                "assists": 1,
                "interceptions": 0.152,
                "tackles_won": 0.8515,
                "tackles": 1.3709,
                "clearances": 0.1945,
                "blocks": 0.0,
                "big_chances_created": 0.4577,
                "big_chances_missed": 0.3608,
                "xgot": 0.5878,
                "offsides": 0.0,
                "ball_carries": 15.4791,
                "total_progression": 48.1952,
                "progressive_carries": 1.419,
                "shots_off_target": 1.6484,
                "duel_xg_multiplier": 1.2095,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.6,
                "aerial_won": 1.2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.342,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
                "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.4275,
                "projected_assists": 1,
                "assist_probability": 0.1858,
                "finishing_factor": 1.25,
                "creation_factor": 1.25,
                "fifa_overall": 86.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 1,
                "assist_probability": 0.1858,
                "assist_rate": 0.2168,
                "provider_weight": 0.257,
                "squad_weight_total": 1.6132,
                "weight_share": 0.1593,
                "creation_factor": 1.25,
                "appearance_weight": 1.0,
                "weight_rank": 1,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.257,
                    "already": 0,
                    "effective_weight": 0.257,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.2198
                  }
                ]
              }
            }
          ]
        },
        "Alex Baena": {
          "player_id": 910031,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 10,
          "height": 174,
          "market_value": 48000000,
          "stats": {
            "expected_goals": 0.2677,
            "goal_rate": 0.3025,
            "goals": 1,
            "shots_on_target": 1,
            "total_shots": 3,
            "expected_assists": 0.2748,
            "key_pass": 2,
            "rating": 7.1477,
            "minutes": 75,
            "total_pass": 38,
            "accurate_pass": 31,
            "duels_won": 2,
            "total_long_balls": 2,
            "accurate_long_balls": 2,
            "total_opp_half_passes": 26,
            "accurate_opp_half_passes": 20,
            "crosses_total": 3,
            "crosses_accurate": 1,
            "touches": 54,
            "possession_lost": 13.8062,
            "dispossessed": 1.0298,
            "duels_lost": 6,
            "aerial_lost": 1,
            "total_contest": 2,
            "won_contest": 0,
            "ball_recovery": 2,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "assist_rate": 0.0528,
            "assists": 0,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.3527,
            "offsides": 0,
            "ball_carries": 15,
            "total_progression": 54,
            "progressive_carries": 3,
            "shots_off_target": 2,
            "duel_xg_multiplier": 1.1576,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.5,
            "aerial_won": 1,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.307,
            "pressing_faced": "LOW",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
            "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
            "antagonist_source": "attacking_duel",
            "projected_goals": 1,
            "goal_probability": 0.2349,
            "projected_assists": 0,
            "assist_probability": 0.2403,
            "finishing_factor": 1.25,
            "creation_factor": 0.8,
            "fifa_overall": 83.0
          },
          "latest_10_games": [
            {
              "match_id": 16421082,
              "match_date": "2026-10-24",
              "home_team": "Atlético Madrid",
              "away_team": "Deportivo de A Coruña",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.126,
                "expected_assists": 0.2378,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "total_pass": 49,
                "accurate_pass": 39,
                "key_pass": 4,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 3,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421071,
              "match_date": "2026-10-17",
              "home_team": "Espanyol",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 28,
                "rating": 8.0,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1339,
                "expected_assists": 0.1796,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 20,
                "accurate_pass": 16,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Deportivo Alavés",
              "stats": {
                "minutes": 45,
                "rating": 7.1,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.076,
                "expected_assists": 0.4483,
                "total_shots": 3,
                "shots_on_target": 1,
                "total_pass": 28,
                "accurate_pass": 20,
                "key_pass": 4,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416339,
              "match_date": "2026-09-20",
              "home_team": "Atlético Madrid",
              "away_team": "Real Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 67,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.024,
                "expected_assists": 0.0931,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 37,
                "accurate_pass": 31,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416335,
              "match_date": "2026-09-16",
              "home_team": "Atlético Madrid",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 8.6,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.5648,
                "expected_assists": 0.4472,
                "total_shots": 5,
                "shots_on_target": 2,
                "shots_off_target": 2,
                "total_pass": 51,
                "accurate_pass": 41,
                "key_pass": 4,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "duels_won": 3,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416332,
              "match_date": "2026-09-13",
              "home_team": "Real Sociedad",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 59,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0485,
                "expected_assists": 0.0354,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 27,
                "accurate_pass": 24,
                "tackles": 1,
                "interceptions": 3,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416317,
              "match_date": "2026-09-05",
              "home_team": "Athletic Club",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 76,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1281,
                "expected_assists": 0.3008,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 29,
                "accurate_pass": 24,
                "key_pass": 3,
                "interceptions": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 85,
                "rating": 9.2,
                "goal_rate": 2.0,
                "goals": 2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2852,
                "expected_assists": 0.1508,
                "total_shots": 4,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 44,
                "accurate_pass": 39,
                "key_pass": 3,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416302,
              "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": 45,
                "rating": 6.0,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_assists": 0.1268,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 18,
                "key_pass": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421055,
              "match_date": "2026-08-19",
              "home_team": "Atlético Madrid",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 33,
                "rating": 7.7,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0671,
                "expected_assists": 0.1075,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 20,
                "accurate_pass": 16,
                "key_pass": 2,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 244,
            "combined_rank_score": 182.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 52.0,
            "sofascore_rating": 7.7,
            "sofascore_appearances": 1.0,
            "fifa_rank": 312.0,
            "fifa_overall": 83.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 7.1477,
            "source_file": "data/player_rankings.csv",
            "player_name": "Alex Baena",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Federico Botti",
                  "ranking": 239
                },
                {
                  "player_name": "Jeisson Vargas",
                  "ranking": 240
                },
                {
                  "player_name": "Léo Pereira",
                  "ranking": 241
                },
                {
                  "player_name": "Andrei Cojuhar",
                  "ranking": 242
                },
                {
                  "player_name": "Willian Pacho",
                  "ranking": 243
                }
              ],
              "lower": [
                {
                  "player_name": "Denzel Dumfries",
                  "ranking": 245
                },
                {
                  "player_name": "Pablo Barrios",
                  "ranking": 246
                },
                {
                  "player_name": "Joaquín Moya",
                  "ranking": 247
                },
                {
                  "player_name": "Leonard Pllana",
                  "ranking": 248
                },
                {
                  "player_name": "Eldor Adhamov",
                  "ranking": 249
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.768,
          "history_matches": 37,
          "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",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "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",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 37,
            "data_confidence": 0.768,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0111,
            "fbref_prior_metrics": {
              "squad": "Atlético Madrid",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 1.0,
              "minutes": 163.0,
              "goals_per90": 1.6666666666666665,
              "assists_per90": 0.5555555555555556,
              "shots_per90": 2.76,
              "shots_on_target_pct": 60.0,
              "prior_reliability": 0.12
            },
            "rationale": "XGBoost regressor (F_service) evaluated 37 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Atlético Madrid, rel: 0.12, gls/90: 1.6666666666666665, ast/90: 0.5555555555555556)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.1613,
                "goals": 0.248,
                "goal_rate": 0.248,
                "shots_on_target": 0.7201,
                "total_shots": 2.1003,
                "expected_assists": 0.1917,
                "key_pass": 2.1271,
                "rating": 7.1477,
                "minutes": 75.24,
                "total_pass": 37.67,
                "accurate_pass": 30.9313,
                "duels_won": 2.4151,
                "total_long_balls": 2.1525,
                "accurate_long_balls": 1.5908,
                "total_opp_half_passes": 25.4259,
                "accurate_opp_half_passes": 19.6221,
                "crosses_total": 3.3184,
                "crosses_accurate": 0.9626,
                "touches": 53.7377,
                "possession_lost": 13.6546,
                "dispossessed": 1.0185,
                "duels_lost": 5.9239,
                "aerial_lost": 0.8256,
                "total_contest": 1.6216,
                "won_contest": 0.3184,
                "ball_recovery": 2.362,
                "challenges_lost": 1.4153,
                "fouls": 1.3892,
                "fouls_drawn": 1.1875,
                "assists": 0.0484,
                "assist_rate": 0.0484,
                "interceptions": 1.1292,
                "tackles_won": 0.5471,
                "tackles": 0.7569,
                "clearances": 0.2892,
                "blocks": 0.0602,
                "big_chances_created": 0.4897,
                "big_chances_missed": 0.0076,
                "xgot": 0.2124,
                "offsides": 0.1644,
                "ball_carries": 14.8948,
                "total_progression": 53.7892,
                "progressive_carries": 2.5799,
                "shots_off_target": 1.3802
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1504,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Espanyol",
                    "minutes": 28.0,
                    "is_starting": false,
                    "weight": 0.1278,
                    "rating": 8.0
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Deportivo Alavés",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.1086,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Real Madrid",
                    "minutes": 67.0,
                    "is_starting": true,
                    "weight": 0.0923,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0785,
                    "rating": 8.6
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Real Sociedad",
                    "minutes": 59.0,
                    "is_starting": true,
                    "weight": 0.0667,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Athletic Club",
                    "minutes": 76.0,
                    "is_starting": true,
                    "weight": 0.0567,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Sevilla",
                    "minutes": 85.0,
                    "is_starting": true,
                    "weight": 0.0482,
                    "rating": 9.2
                  },
                  {
                    "match_date": "2026-08-23",
                    "opponent": "Villarreal",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.041,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-08-19",
                    "opponent": "Málaga CF",
                    "minutes": 33.0,
                    "is_starting": false,
                    "weight": 0.0348,
                    "rating": 7.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "expectedGoals": 0.1283,
                  "accuratePass": 27.1772,
                  "totalOppositionHalfPasses": 23.6046,
                  "accurateOppositionHalfPasses": 17.7607,
                  "totalShots": 2.0972
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.1612679660320282,
                    "model_output": 0.1613,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0606
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0427
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0156
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0117
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0108
                        }
                      ],
                      "others": -0.036,
                      "total": 0.1613,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.26937
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.182231
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.075952
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.061124
                        },
                        {
                          "name": "goals",
                          "margin": 0.056291
                        }
                      ],
                      "others_margin": -0.201083
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.24795275926589966,
                    "model_output": 0.248,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0475
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0248
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0246
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0194
                        },
                        {
                          "name": "bigChanceMissed",
                          "contribution": -0.0157
                        }
                      ],
                      "others": -0.0035,
                      "total": 0.248,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.212494
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.105492
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.104545
                        },
                        {
                          "name": "goals",
                          "margin": 0.075238
                        },
                        {
                          "name": "bigChanceMissed",
                          "margin": -0.060519
                        }
                      ],
                      "others_margin": -0.013724
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.7201164960861206,
                    "model_output": 0.7201,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1562
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0762
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0549
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0355
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0286
                        }
                      ],
                      "others": 0.0035,
                      "total": 0.7201,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.257422
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.104925
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.074494
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.048838
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.039149
                        }
                      ],
                      "others_margin": 0.004888
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 2.1003458499908447,
                    "model_output": 2.1003,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4329
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.2032
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0702
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0646
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.064
                        }
                      ],
                      "others": 0.0144,
                      "total": 2.1003,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.432885
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.203171
                        },
                        {
                          "name": "goals",
                          "margin": 0.070193
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.064608
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.063997
                        }
                      ],
                      "others_margin": 0.014557
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.1917174607515335,
                    "model_output": 0.1917,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0133
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.015
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0125
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0122
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0136
                        }
                      ],
                      "others": 0.0608,
                      "total": 0.1917,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.188247
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.176841
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.127039
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.109776
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.109582
                        }
                      ],
                      "others_margin": 0.380854
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 2.127074718475342,
                    "model_output": 2.1271,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1683
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.1205
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.1205
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.134
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.1273
                        }
                      ],
                      "others": 0.7698,
                      "total": 2.1271,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.219241
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.131811
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.11645
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.115375
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.098448
                        }
                      ],
                      "others_margin": 0.449226
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.147716522216797,
                    "model_output": 7.1477,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.072
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0566
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0563
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0534
                        },
                        {
                          "name": "totalPass",
                          "contribution": 0.0402
                        }
                      ],
                      "others": 0.0984,
                      "total": 7.1477,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.072029
                        },
                        {
                          "name": "rating",
                          "margin": 0.056643
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.056251
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.05341
                        },
                        {
                          "name": "totalPass",
                          "margin": 0.040246
                        }
                      ],
                      "others_margin": 0.098292
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 37,
                  "role_matches": 27,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0111, quality 0.817)",
              "stats": {
                "expected_goals": 0.1631,
                "goals": 0.2507,
                "goal_rate": 0.2507,
                "shots_on_target": 0.7281,
                "total_shots": 2.1237,
                "expected_assists": 0.1938,
                "key_pass": 2.1507,
                "rating": 7.1477,
                "minutes": 75.24,
                "total_pass": 38.0881,
                "accurate_pass": 31.2746,
                "duels_won": 2.4419,
                "total_long_balls": 2.1764,
                "accurate_long_balls": 1.6085,
                "total_opp_half_passes": 25.7081,
                "accurate_opp_half_passes": 19.8399,
                "crosses_total": 3.3552,
                "crosses_accurate": 0.9733,
                "touches": 54.3342,
                "possession_lost": 13.8062,
                "dispossessed": 1.0298,
                "duels_lost": 5.9897,
                "aerial_lost": 0.8348,
                "total_contest": 1.6396,
                "won_contest": 0.3219,
                "ball_recovery": 2.3882,
                "challenges_lost": 1.431,
                "fouls": 1.4046,
                "fouls_drawn": 1.2007,
                "assists": 0.0489,
                "assist_rate": 0.0489,
                "interceptions": 1.1417,
                "tackles_won": 0.5532,
                "tackles": 0.7653,
                "clearances": 0.2924,
                "blocks": 0.0609,
                "big_chances_created": 0.4951,
                "big_chances_missed": 0.0077,
                "xgot": 0.2148,
                "offsides": 0.1662,
                "ball_carries": 15.0601,
                "total_progression": 54.3863,
                "progressive_carries": 2.6085,
                "shots_off_target": 1.3955
              },
              "params": {
                "market_value_eur": 48000000,
                "quality_factor": 0.8168,
                "boost_factor": 1.0111,
                "reference_quality": 0.505,
                "history_matches": 37,
                "history_shrink": 0.119,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0093)",
              "stats": {
                "expected_goals": 0.1631,
                "goals": 0.2613,
                "goal_rate": 0.2613,
                "shots_on_target": 0.7342,
                "total_shots": 2.1254,
                "expected_assists": 0.1938,
                "key_pass": 2.1507,
                "rating": 7.1477,
                "minutes": 75.24,
                "total_pass": 38.0881,
                "accurate_pass": 31.2746,
                "duels_won": 2.4419,
                "total_long_balls": 2.1764,
                "accurate_long_balls": 1.6085,
                "total_opp_half_passes": 25.7081,
                "accurate_opp_half_passes": 19.8399,
                "crosses_total": 3.3413,
                "crosses_accurate": 0.9733,
                "touches": 54.3342,
                "possession_lost": 13.8062,
                "dispossessed": 1.0298,
                "duels_lost": 5.9897,
                "aerial_lost": 0.8348,
                "total_contest": 1.6396,
                "won_contest": 0.3219,
                "ball_recovery": 2.3882,
                "challenges_lost": 1.431,
                "fouls": 1.4088,
                "fouls_drawn": 1.2068,
                "assists": 0.0528,
                "assist_rate": 0.0528,
                "interceptions": 1.1354,
                "tackles_won": 0.5481,
                "tackles": 0.7653,
                "clearances": 0.2924,
                "blocks": 0.0609,
                "big_chances_created": 0.4951,
                "big_chances_missed": 0.0077,
                "xgot": 0.2148,
                "offsides": 0.1733,
                "ball_carries": 15.0601,
                "total_progression": 54.3863,
                "progressive_carries": 2.6085,
                "shots_off_target": 1.3955
              },
              "params": {
                "blend_weight": 0.0093,
                "history_matches": 37,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.836,
                "prior_reliability": 0.12,
                "competition": "La Liga",
                "squad": "Atlético Madrid"
              },
              "changes": [
                {
                  "stat": "totalCross",
                  "before": 3.3552,
                  "after": 3.3413
                },
                {
                  "stat": "goals",
                  "before": 0.2507,
                  "after": 0.2613
                },
                {
                  "stat": "totalOffside",
                  "before": 0.1662,
                  "after": 0.1733
                },
                {
                  "stat": "interceptionWon",
                  "before": 1.1417,
                  "after": 1.1354
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.7281,
                  "after": 0.7342
                },
                {
                  "stat": "wasFouled",
                  "before": 1.2007,
                  "after": 1.2068
                },
                {
                  "stat": "wonTackle",
                  "before": 0.5532,
                  "after": 0.5481
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1631,
                "goals": 0.2613,
                "goal_rate": 0.2613,
                "shots_on_target": 0.7342,
                "total_shots": 2.1297,
                "expected_assists": 0.1938,
                "key_pass": 2.1507,
                "rating": 7.1477,
                "minutes": 75.24,
                "total_pass": 38.0881,
                "accurate_pass": 31.2746,
                "duels_won": 2.4419,
                "total_long_balls": 2.1764,
                "accurate_long_balls": 1.6085,
                "total_opp_half_passes": 25.7081,
                "accurate_opp_half_passes": 19.8399,
                "crosses_total": 3.3413,
                "crosses_accurate": 0.9733,
                "touches": 54.3342,
                "possession_lost": 13.8062,
                "dispossessed": 1.0298,
                "duels_lost": 5.9897,
                "aerial_lost": 0.8348,
                "total_contest": 1.6396,
                "won_contest": 0.3219,
                "ball_recovery": 2.3882,
                "challenges_lost": 1.431,
                "fouls": 1.4088,
                "fouls_drawn": 1.2068,
                "assists": 0.0528,
                "assist_rate": 0.0528,
                "interceptions": 1.1354,
                "tackles_won": 0.5481,
                "tackles": 0.7653,
                "clearances": 0.2924,
                "blocks": 0.0609,
                "big_chances_created": 0.4951,
                "big_chances_missed": 0.0077,
                "xgot": 0.2148,
                "offsides": 0.1733,
                "ball_carries": 15.0601,
                "total_progression": 54.3863,
                "progressive_carries": 2.6085,
                "shots_off_target": 1.3955
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.1888,
                "goals": 0.3025,
                "goal_rate": 0.3025,
                "shots_on_target": 0.8499,
                "total_shots": 2.4653,
                "expected_assists": 0.1938,
                "key_pass": 2.1507,
                "rating": 7.1477,
                "minutes": 75.24,
                "total_pass": 38.0881,
                "accurate_pass": 31.2746,
                "duels_won": 2.4419,
                "total_long_balls": 2.1764,
                "accurate_long_balls": 1.6085,
                "total_opp_half_passes": 25.7081,
                "accurate_opp_half_passes": 19.8399,
                "crosses_total": 3.3413,
                "crosses_accurate": 0.9733,
                "touches": 54.3342,
                "possession_lost": 13.8062,
                "dispossessed": 1.0298,
                "duels_lost": 5.9897,
                "aerial_lost": 0.8348,
                "total_contest": 1.6396,
                "won_contest": 0.3219,
                "ball_recovery": 2.3882,
                "challenges_lost": 1.431,
                "fouls": 1.4088,
                "fouls_drawn": 1.2068,
                "assists": 0.0528,
                "assist_rate": 0.0528,
                "interceptions": 1.1354,
                "tackles_won": 0.5481,
                "tackles": 0.7653,
                "clearances": 0.2924,
                "blocks": 0.0609,
                "big_chances_created": 0.4951,
                "big_chances_missed": 0.0089,
                "xgot": 0.2487,
                "offsides": 0.1733,
                "ball_carries": 15.0601,
                "total_progression": 54.3863,
                "progressive_carries": 2.6085,
                "shots_off_target": 1.6154,
                "duel_xg_multiplier": 1.1576,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.5,
                "aerial_won": 1.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.307,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
                "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                "antagonist_source": "attacking_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                  "duel_win_rate": 0.307,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v2",
                  "xg_multiplier": 1.1576,
                  "skill_edge": 0.1672,
                  "height_edge": -0.06,
                  "attacker_skill": 0.8168,
                  "defender_skill": 0.4453,
                  "attacker_role": "ST",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Aïssa Mandi",
                      "market_value": 1100000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.4374
                    },
                    {
                      "player": "Ifeanyi Ndukwe",
                      "market_value": 3200000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.4531
                    }
                  ],
                  "xg_override": 0.1888
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 2.1297,
                  "after": 2.4653
                },
                {
                  "stat": "shotOffTarget",
                  "before": 1.3955,
                  "after": 1.6154
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.7342,
                  "after": 0.8499
                },
                {
                  "stat": "goals",
                  "before": 0.2613,
                  "after": 0.3025
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.2148,
                  "after": 0.2487
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.1631,
                  "after": 0.1888
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.1888,
                "goal_rate": 0.3025,
                "goals": 0,
                "shots_on_target": 0.8499,
                "total_shots": 2.4653,
                "expected_assists": 0.1938,
                "key_pass": 2.1507,
                "rating": 7.1477,
                "minutes": 75.24,
                "total_pass": 38.0881,
                "accurate_pass": 31.2746,
                "duels_won": 2.4419,
                "total_long_balls": 2.1764,
                "accurate_long_balls": 1.6085,
                "total_opp_half_passes": 25.7081,
                "accurate_opp_half_passes": 19.8399,
                "crosses_total": 3.3413,
                "crosses_accurate": 0.9733,
                "touches": 54.3342,
                "possession_lost": 13.8062,
                "dispossessed": 1.0298,
                "duels_lost": 5.9897,
                "aerial_lost": 0.8348,
                "total_contest": 1.6396,
                "won_contest": 0.3219,
                "ball_recovery": 2.3882,
                "challenges_lost": 1.431,
                "fouls": 1.4088,
                "fouls_drawn": 1.2068,
                "assist_rate": 0.0528,
                "assists": 0,
                "interceptions": 1.1354,
                "tackles_won": 0.5481,
                "tackles": 0.7653,
                "clearances": 0.2924,
                "blocks": 0.0609,
                "big_chances_created": 0.4951,
                "big_chances_missed": 0.0089,
                "xgot": 0.2487,
                "offsides": 0.1733,
                "ball_carries": 15.0601,
                "total_progression": 54.3863,
                "progressive_carries": 2.6085,
                "shots_off_target": 1.6154,
                "duel_xg_multiplier": 1.1576,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.5,
                "aerial_won": 1.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.307,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
                "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 2.27 (squad xG sum 1.5979, xG scale 1.4181, xA scale 1.4181, team xA 1.65 = 0.73 x lambda)",
              "stats": {
                "expected_goals": 0.2677,
                "goal_rate": 0.3025,
                "goals": 0,
                "shots_on_target": 0.8499,
                "total_shots": 2.4653,
                "expected_assists": 0.2748,
                "key_pass": 2.1507,
                "rating": 7.1477,
                "minutes": 75.24,
                "total_pass": 38.0881,
                "accurate_pass": 31.2746,
                "duels_won": 2.4419,
                "total_long_balls": 2.1764,
                "accurate_long_balls": 1.6085,
                "total_opp_half_passes": 25.7081,
                "accurate_opp_half_passes": 19.8399,
                "crosses_total": 3.3413,
                "crosses_accurate": 0.9733,
                "touches": 54.3342,
                "possession_lost": 13.8062,
                "dispossessed": 1.0298,
                "duels_lost": 5.9897,
                "aerial_lost": 0.8348,
                "total_contest": 1.6396,
                "won_contest": 0.3219,
                "ball_recovery": 2.3882,
                "challenges_lost": 1.431,
                "fouls": 1.4088,
                "fouls_drawn": 1.2068,
                "assist_rate": 0.0528,
                "assists": 0,
                "interceptions": 1.1354,
                "tackles_won": 0.5481,
                "tackles": 0.7653,
                "clearances": 0.2924,
                "blocks": 0.0609,
                "big_chances_created": 0.4951,
                "big_chances_missed": 0.0089,
                "xgot": 0.3527,
                "offsides": 0.1733,
                "ball_carries": 15.0601,
                "total_progression": 54.3863,
                "progressive_carries": 2.6085,
                "shots_off_target": 1.6154,
                "duel_xg_multiplier": 1.1576,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.5,
                "aerial_won": 1.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.307,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
                "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.25,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 2.266,
                "squad_xg_sum": 1.5979,
                "squad_xa_sum": 1.1609,
                "team_expected_assists": 1.6463,
                "team_xa_to_xg_ratio": 0.7265,
                "bench_appearance_weighted": true,
                "xg_scale": 1.4181,
                "xa_scale": 1.4181,
                "opponent_lambda": 1.191,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.1888,
                  "after": 0.2677
                },
                {
                  "stat": "expected_assists",
                  "before": 0.1938,
                  "after": 0.2748
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 3 by projected rating, fifa_overall 83.0)",
              "stats": {
                "expected_goals": 0.2677,
                "goal_rate": 0.3025,
                "goals": 0,
                "shots_on_target": 0.8499,
                "total_shots": 2.4653,
                "expected_assists": 0.2748,
                "key_pass": 2.1507,
                "rating": 7.1477,
                "minutes": 75.24,
                "total_pass": 38.0881,
                "accurate_pass": 31.2746,
                "duels_won": 2.4419,
                "total_long_balls": 2.1764,
                "accurate_long_balls": 1.6085,
                "total_opp_half_passes": 25.7081,
                "accurate_opp_half_passes": 19.8399,
                "crosses_total": 3.3413,
                "crosses_accurate": 0.9733,
                "touches": 54.3342,
                "possession_lost": 13.8062,
                "dispossessed": 1.0298,
                "duels_lost": 5.9897,
                "aerial_lost": 0.8348,
                "total_contest": 1.6396,
                "won_contest": 0.3219,
                "ball_recovery": 2.3882,
                "challenges_lost": 1.431,
                "fouls": 1.4088,
                "fouls_drawn": 1.2068,
                "assist_rate": 0.0528,
                "assists": 0,
                "interceptions": 1.1354,
                "tackles_won": 0.5481,
                "tackles": 0.7653,
                "clearances": 0.2924,
                "blocks": 0.0609,
                "big_chances_created": 0.4951,
                "big_chances_missed": 0.0089,
                "xgot": 0.3527,
                "offsides": 0.1733,
                "ball_carries": 15.0601,
                "total_progression": 54.3863,
                "progressive_carries": 2.6085,
                "shots_off_target": 1.6154,
                "duel_xg_multiplier": 1.1576,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.5,
                "aerial_won": 1.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.307,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
                "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.25,
                "creation_factor": 0.8,
                "fifa_overall": 83.0
              },
              "params": {
                "match_squad_rank": 3,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 244,
                "fifa_rank": 312.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 83.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.2677,
                "goal_rate": 0.3025,
                "goals": 1,
                "shots_on_target": 0.8499,
                "total_shots": 2.4653,
                "expected_assists": 0.2748,
                "key_pass": 2.1507,
                "rating": 7.1477,
                "minutes": 75.24,
                "total_pass": 38.0881,
                "accurate_pass": 31.2746,
                "duels_won": 2.4419,
                "total_long_balls": 2.1764,
                "accurate_long_balls": 1.6085,
                "total_opp_half_passes": 25.7081,
                "accurate_opp_half_passes": 19.8399,
                "crosses_total": 3.3413,
                "crosses_accurate": 0.9733,
                "touches": 54.3342,
                "possession_lost": 13.8062,
                "dispossessed": 1.0298,
                "duels_lost": 5.9897,
                "aerial_lost": 0.8348,
                "total_contest": 1.6396,
                "won_contest": 0.3219,
                "ball_recovery": 2.3882,
                "challenges_lost": 1.431,
                "fouls": 1.4088,
                "fouls_drawn": 1.2068,
                "assist_rate": 0.0528,
                "assists": 0,
                "interceptions": 1.1354,
                "tackles_won": 0.5481,
                "tackles": 0.7653,
                "clearances": 0.2924,
                "blocks": 0.0609,
                "big_chances_created": 0.4951,
                "big_chances_missed": 0.0089,
                "xgot": 0.3527,
                "offsides": 0.1733,
                "ball_carries": 15.0601,
                "total_progression": 54.3863,
                "progressive_carries": 2.6085,
                "shots_off_target": 1.6154,
                "duel_xg_multiplier": 1.1576,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.5,
                "aerial_won": 1.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.307,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
                "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.2349,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.25,
                "creation_factor": 0.8,
                "fifa_overall": 83.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 1,
                "goal_probability": 0.2349,
                "goal_rate": 0.3025,
                "scorer_weight": 0.3346,
                "squad_weight_total": 2.4769,
                "weight_share": 0.1351,
                "finishing_factor": 1.25,
                "appearance_weight": 1.0,
                "weight_rank": 2,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.6971,
                    "already": 0,
                    "effective_weight": 0.6971,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.3346
                  },
                  {
                    "n": 2,
                    "player": "Alex Baena",
                    "weight": 0.3346,
                    "already": 0,
                    "effective_weight": 0.3346,
                    "runner_up": "Kang-in Lee",
                    "runner_up_effective_weight": 0.3062
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.2677,
                "goal_rate": 0.3025,
                "goals": 1,
                "shots_on_target": 0.8499,
                "total_shots": 2.4653,
                "expected_assists": 0.2748,
                "key_pass": 2.1507,
                "rating": 7.1477,
                "minutes": 75.24,
                "total_pass": 38.0881,
                "accurate_pass": 31.2746,
                "duels_won": 2.4419,
                "total_long_balls": 2.1764,
                "accurate_long_balls": 1.6085,
                "total_opp_half_passes": 25.7081,
                "accurate_opp_half_passes": 19.8399,
                "crosses_total": 3.3413,
                "crosses_accurate": 0.9733,
                "touches": 54.3342,
                "possession_lost": 13.8062,
                "dispossessed": 1.0298,
                "duels_lost": 5.9897,
                "aerial_lost": 0.8348,
                "total_contest": 1.6396,
                "won_contest": 0.3219,
                "ball_recovery": 2.3882,
                "challenges_lost": 1.431,
                "fouls": 1.4088,
                "fouls_drawn": 1.2068,
                "assist_rate": 0.0528,
                "assists": 0,
                "interceptions": 1.1354,
                "tackles_won": 0.5481,
                "tackles": 0.7653,
                "clearances": 0.2924,
                "blocks": 0.0609,
                "big_chances_created": 0.4951,
                "big_chances_missed": 0.0089,
                "xgot": 0.3527,
                "offsides": 0.1733,
                "ball_carries": 15.0601,
                "total_progression": 54.3863,
                "progressive_carries": 2.6085,
                "shots_off_target": 1.6154,
                "duel_xg_multiplier": 1.1576,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.5,
                "aerial_won": 1.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.307,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
                "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.2349,
                "projected_assists": 0,
                "assist_probability": 0.2403,
                "finishing_factor": 1.25,
                "creation_factor": 0.8,
                "fifa_overall": 83.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.2403,
                "assist_rate": 0.0528,
                "provider_weight": 0.2198,
                "squad_weight_total": 1.6132,
                "weight_share": 0.1363,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 2,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.257,
                    "already": 0,
                    "effective_weight": 0.257,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.2198
                  }
                ]
              }
            }
          ]
        },
        "Kang-in Lee": {
          "player_id": 917087,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 7,
          "height": 173,
          "market_value": 37000000,
          "stats": {
            "expected_goals": 0.2662,
            "goal_rate": 0.2234,
            "goals": 0,
            "shots_on_target": 1,
            "total_shots": 3,
            "expected_assists": 0.2594,
            "key_pass": 2,
            "rating": 7.1605,
            "minutes": 73,
            "total_pass": 38,
            "accurate_pass": 32,
            "duels_won": 4,
            "total_long_balls": 3,
            "accurate_long_balls": 1,
            "total_opp_half_passes": 28,
            "accurate_opp_half_passes": 23,
            "crosses_total": 2,
            "crosses_accurate": 1,
            "touches": 53,
            "possession_lost": 10.8985,
            "dispossessed": 0.9903,
            "duels_lost": 4,
            "aerial_lost": 1,
            "total_contest": 3,
            "won_contest": 2,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 1,
            "assist_rate": 0.0798,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.3283,
            "offsides": 0,
            "ball_carries": 21,
            "total_progression": 61,
            "progressive_carries": 3,
            "shots_off_target": 2,
            "duel_xg_multiplier": 1.1227,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.5,
            "aerial_won": 1,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.283,
            "pressing_faced": "LOW",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
            "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
            "antagonist_source": "attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.2337,
            "projected_assists": 0,
            "assist_probability": 0.2285,
            "finishing_factor": 1.1502,
            "creation_factor": 0.8,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16421082,
              "match_date": "2026-10-24",
              "home_team": "Atlético Madrid",
              "away_team": "Deportivo de A Coruña",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 67,
                "rating": 7.4,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1376,
                "expected_assists": 0.0997,
                "total_shots": 3,
                "shots_on_target": 0,
                "shots_off_target": 2,
                "total_pass": 27,
                "accurate_pass": 21,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421071,
              "match_date": "2026-10-17",
              "home_team": "Espanyol",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 62,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1421,
                "expected_assists": 0.3436,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 44,
                "accurate_pass": 41,
                "key_pass": 3,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Deportivo Alavés",
              "stats": {
                "minutes": 33,
                "rating": 7.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.4573,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 22,
                "key_pass": 3,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416339,
              "match_date": "2026-09-20",
              "home_team": "Atlético Madrid",
              "away_team": "Real Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 89,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0305,
                "expected_assists": 0.213,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 57,
                "accurate_pass": 48,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416335,
              "match_date": "2026-09-16",
              "home_team": "Atlético Madrid",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 9.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.7597,
                "expected_assists": 0.3558,
                "total_shots": 6,
                "shots_on_target": 4,
                "total_pass": 51,
                "accurate_pass": 39,
                "key_pass": 3,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416332,
              "match_date": "2026-09-13",
              "home_team": "Real Sociedad",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 60,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0435,
                "expected_assists": 0.0534,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 22,
                "accurate_pass": 15,
                "key_pass": 1,
                "tackles": 1,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416317,
              "match_date": "2026-09-05",
              "home_team": "Athletic Club",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 59,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0846,
                "expected_assists": 0.0551,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 23,
                "accurate_pass": 18,
                "key_pass": 1,
                "clearances": 1,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 72,
                "rating": 7.1,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_assists": 0.0371,
                "total_shots": 0,
                "total_pass": 33,
                "accurate_pass": 31,
                "key_pass": 1,
                "duels_won": 8,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416302,
              "match_date": "2026-08-23",
              "home_team": "Atlético Madrid",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 66,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1968,
                "expected_assists": 0.1149,
                "total_shots": 6,
                "shots_off_target": 3,
                "total_pass": 31,
                "accurate_pass": 25,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421055,
              "match_date": "2026-08-19",
              "home_team": "Atlético Madrid",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 33,
                "rating": 8.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1291,
                "expected_assists": 0.0493,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 14,
                "accurate_pass": 13,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 3,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 802,
            "combined_rank_score": 390.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 21.0,
            "sofascore_rating": 8.1,
            "sofascore_appearances": 1.0,
            "fifa_rank": 759.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 7.1605,
            "source_file": "data/player_rankings.csv",
            "player_name": "Kang-in Lee",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Islomzhon Kobilov",
                  "ranking": 797
                },
                {
                  "player_name": "Khurshid Giyosov",
                  "ranking": 798
                },
                {
                  "player_name": "Jeremie Frimpong",
                  "ranking": 799
                },
                {
                  "player_name": "Diego Oyarzún",
                  "ranking": 800
                },
                {
                  "player_name": "Leroy Sané",
                  "ranking": 801
                }
              ],
              "lower": [
                {
                  "player_name": "Harvey Barnes",
                  "ranking": 803
                },
                {
                  "player_name": "Nicola Pérez",
                  "ranking": 804
                },
                {
                  "player_name": "Jun-seo Park",
                  "ranking": 805
                },
                {
                  "player_name": "Chang-woo Park",
                  "ranking": 806
                },
                {
                  "player_name": "Ronan",
                  "ranking": 807
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 10,
          "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",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "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",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 10,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 1.0259,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (F_service) evaluated 10 historical appearances across 7 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.163,
                "goals": 0.194,
                "goal_rate": 0.194,
                "shots_on_target": 0.7107,
                "total_shots": 2.2549,
                "expected_assists": 0.1783,
                "key_pass": 1.7237,
                "rating": 7.1605,
                "minutes": 72.92,
                "total_pass": 37.3142,
                "accurate_pass": 30.9282,
                "duels_won": 4.368,
                "total_long_balls": 2.5177,
                "accurate_long_balls": 1.2541,
                "total_opp_half_passes": 27.0927,
                "accurate_opp_half_passes": 22.6751,
                "crosses_total": 1.9284,
                "crosses_accurate": 0.7337,
                "touches": 51.8806,
                "possession_lost": 10.6234,
                "dispossessed": 0.9653,
                "duels_lost": 4.254,
                "aerial_lost": 0.6791,
                "total_contest": 2.5864,
                "won_contest": 1.9446,
                "ball_recovery": 2.7302,
                "challenges_lost": 0.6431,
                "fouls": 1.6575,
                "fouls_drawn": 1.0843,
                "assists": 0.0778,
                "assist_rate": 0.0778,
                "interceptions": 0.1927,
                "tackles_won": 0.5344,
                "tackles": 0.791,
                "clearances": 0.2181,
                "blocks": 0.0,
                "big_chances_created": 0.2044,
                "big_chances_missed": 0.1394,
                "xgot": 0.201,
                "offsides": 0.1266,
                "ball_carries": 20.6175,
                "total_progression": 59.6641,
                "progressive_carries": 3.2551,
                "shots_off_target": 1.5442
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 67.0,
                    "is_starting": true,
                    "weight": 0.1868,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Espanyol",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.1588,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Deportivo Alavés",
                    "minutes": 33.0,
                    "is_starting": false,
                    "weight": 0.1349,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Real Madrid",
                    "minutes": 89.0,
                    "is_starting": true,
                    "weight": 0.1147,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0975,
                    "rating": 9.1
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Real Sociedad",
                    "minutes": 60.0,
                    "is_starting": true,
                    "weight": 0.0829,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Athletic Club",
                    "minutes": 59.0,
                    "is_starting": true,
                    "weight": 0.0704,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Sevilla",
                    "minutes": 72.0,
                    "is_starting": true,
                    "weight": 0.0599,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-08-23",
                    "opponent": "Villarreal",
                    "minutes": 66.0,
                    "is_starting": true,
                    "weight": 0.0509,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-19",
                    "opponent": "Málaga CF",
                    "minutes": 33.0,
                    "is_starting": false,
                    "weight": 0.0433,
                    "rating": 8.1
                  }
                ],
                "feature_row": {
                  "history_matches": 10.0,
                  "is_starting_11": 1.0,
                  "expectedGoals": 0.151,
                  "accuratePass": 28.9096,
                  "totalOppositionHalfPasses": 26.0281,
                  "accurateOppositionHalfPasses": 21.8882,
                  "totalShots": 2.3511
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.1629798412322998,
                    "model_output": 0.163,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0576
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0413
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0143
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0083
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": -0.0077
                        }
                      ],
                      "others": -0.0189,
                      "total": 0.163,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.257808
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.177752
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.069829
                        },
                        {
                          "name": "goals",
                          "margin": -0.042767
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": -0.041283
                        }
                      ],
                      "others_margin": -0.110346
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.19399535655975342,
                    "model_output": 0.194,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0605
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0329
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0183
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0089
                        },
                        {
                          "name": "totalPass",
                          "contribution": 0.0069
                        }
                      ],
                      "others": -0.0138,
                      "total": 0.194,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.263726
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.134848
                        },
                        {
                          "name": "goals",
                          "margin": -0.083635
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.043322
                        },
                        {
                          "name": "totalPass",
                          "margin": 0.033808
                        }
                      ],
                      "others_margin": -0.068591
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.7107251286506653,
                    "model_output": 0.7107,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1722
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0709
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.0656
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0507
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0424
                        }
                      ],
                      "others": -0.0073,
                      "total": 0.7107,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.280343
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.095869
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.088413
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.068969
                        },
                        {
                          "name": "goals",
                          "margin": -0.057412
                        }
                      ],
                      "others_margin": -0.010055
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 2.254927635192871,
                    "model_output": 2.2549,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4892
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.2013
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0932
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0786
                        },
                        {
                          "name": "shotOffTarget",
                          "contribution": 0.0521
                        }
                      ],
                      "others": 0.1175,
                      "total": 2.2549,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.489162
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.201288
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.093156
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.078574
                        },
                        {
                          "name": "shotOffTarget",
                          "margin": 0.052141
                        }
                      ],
                      "others_margin": 0.117604
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.17826785147190094,
                    "model_output": 0.1783,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0136
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0148
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0117
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0107
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0118
                        }
                      ],
                      "others": 0.0514,
                      "total": 0.1783,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.191936
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.174003
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.118568
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.097731
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.097325
                        }
                      ],
                      "others_margin": 0.340041
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 1.723692536354065,
                    "model_output": 1.7237,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1984
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.1138
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.1241
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.1341
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.0992
                        }
                      ],
                      "others": 0.3674,
                      "total": 1.7237,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.253815
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.120923
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.117066
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.112819
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.075926
                        }
                      ],
                      "others_margin": 0.239724
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.1605424880981445,
                    "model_output": 7.1605,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": 0.0809
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0604
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.058
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0339
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0313
                        }
                      ],
                      "others": 0.1252,
                      "total": 7.1605,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": 0.080924
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.060352
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.057967
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.033877
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.031348
                        }
                      ],
                      "others_margin": 0.125229
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 10,
                  "role_matches": 8,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0259, quality 0.764)",
              "stats": {
                "expected_goals": 0.1672,
                "goals": 0.199,
                "goal_rate": 0.199,
                "shots_on_target": 0.7291,
                "total_shots": 2.3133,
                "expected_assists": 0.1829,
                "key_pass": 1.7683,
                "rating": 7.1605,
                "minutes": 72.92,
                "total_pass": 38.2806,
                "accurate_pass": 31.7292,
                "duels_won": 4.4811,
                "total_long_balls": 2.5829,
                "accurate_long_balls": 1.2866,
                "total_opp_half_passes": 27.7944,
                "accurate_opp_half_passes": 23.2624,
                "crosses_total": 1.9783,
                "crosses_accurate": 0.7527,
                "touches": 53.2243,
                "possession_lost": 10.8985,
                "dispossessed": 0.9903,
                "duels_lost": 4.3642,
                "aerial_lost": 0.6967,
                "total_contest": 2.6534,
                "won_contest": 1.995,
                "ball_recovery": 2.8009,
                "challenges_lost": 0.6598,
                "fouls": 1.7004,
                "fouls_drawn": 1.1124,
                "assists": 0.0798,
                "assist_rate": 0.0798,
                "interceptions": 0.1977,
                "tackles_won": 0.5482,
                "tackles": 0.8115,
                "clearances": 0.2237,
                "blocks": 0.0,
                "big_chances_created": 0.2097,
                "big_chances_missed": 0.143,
                "xgot": 0.2062,
                "offsides": 0.1299,
                "ball_carries": 21.1515,
                "total_progression": 61.2094,
                "progressive_carries": 3.3394,
                "shots_off_target": 1.5842
              },
              "params": {
                "market_value_eur": 37000000,
                "quality_factor": 0.7641,
                "boost_factor": 1.0259,
                "reference_quality": 0.505,
                "history_matches": 10,
                "history_shrink": 0.3333,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1672,
                "goals": 0.199,
                "goal_rate": 0.199,
                "shots_on_target": 0.7291,
                "total_shots": 2.3133,
                "expected_assists": 0.1829,
                "key_pass": 1.7683,
                "rating": 7.1605,
                "minutes": 72.92,
                "total_pass": 38.2806,
                "accurate_pass": 31.7292,
                "duels_won": 4.4811,
                "total_long_balls": 2.5829,
                "accurate_long_balls": 1.2866,
                "total_opp_half_passes": 27.7944,
                "accurate_opp_half_passes": 23.2624,
                "crosses_total": 1.9783,
                "crosses_accurate": 0.7527,
                "touches": 53.2243,
                "possession_lost": 10.8985,
                "dispossessed": 0.9903,
                "duels_lost": 4.3642,
                "aerial_lost": 0.6967,
                "total_contest": 2.6534,
                "won_contest": 1.995,
                "ball_recovery": 2.8009,
                "challenges_lost": 0.6598,
                "fouls": 1.7004,
                "fouls_drawn": 1.1124,
                "assists": 0.0798,
                "assist_rate": 0.0798,
                "interceptions": 0.1977,
                "tackles_won": 0.5482,
                "tackles": 0.8115,
                "clearances": 0.2237,
                "blocks": 0.0,
                "big_chances_created": 0.2097,
                "big_chances_missed": 0.143,
                "xgot": 0.2062,
                "offsides": 0.1299,
                "ball_carries": 21.1515,
                "total_progression": 61.2094,
                "progressive_carries": 3.3394,
                "shots_off_target": 1.5842
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.1877,
                "goals": 0.2234,
                "goal_rate": 0.2234,
                "shots_on_target": 0.8186,
                "total_shots": 2.5972,
                "expected_assists": 0.1829,
                "key_pass": 1.7683,
                "rating": 7.1605,
                "minutes": 72.92,
                "total_pass": 38.2806,
                "accurate_pass": 31.7292,
                "duels_won": 4.4811,
                "total_long_balls": 2.5829,
                "accurate_long_balls": 1.2866,
                "total_opp_half_passes": 27.7944,
                "accurate_opp_half_passes": 23.2624,
                "crosses_total": 1.9783,
                "crosses_accurate": 0.7527,
                "touches": 53.2243,
                "possession_lost": 10.8985,
                "dispossessed": 0.9903,
                "duels_lost": 4.3642,
                "aerial_lost": 0.6967,
                "total_contest": 2.6534,
                "won_contest": 1.995,
                "ball_recovery": 2.8009,
                "challenges_lost": 0.6598,
                "fouls": 1.7004,
                "fouls_drawn": 1.1124,
                "assists": 0.0798,
                "assist_rate": 0.0798,
                "interceptions": 0.1977,
                "tackles_won": 0.5482,
                "tackles": 0.8115,
                "clearances": 0.2237,
                "blocks": 0.0,
                "big_chances_created": 0.2097,
                "big_chances_missed": 0.1605,
                "xgot": 0.2315,
                "offsides": 0.1299,
                "ball_carries": 21.1515,
                "total_progression": 61.2094,
                "progressive_carries": 3.3394,
                "shots_off_target": 1.7786,
                "duel_xg_multiplier": 1.1227,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.5,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.283,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
                "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                "antagonist_source": "attacking_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                  "duel_win_rate": 0.283,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v2",
                  "xg_multiplier": 1.1227,
                  "skill_edge": 0.1435,
                  "height_edge": -0.06,
                  "attacker_skill": 0.7641,
                  "defender_skill": 0.4453,
                  "attacker_role": "ST",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Aïssa Mandi",
                      "market_value": 1100000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.4374
                    },
                    {
                      "player": "Ifeanyi Ndukwe",
                      "market_value": 3200000,
                      "role": "CB",
                      "price_index": 0.75,
                      "adjusted_quality": 0.4531
                    }
                  ],
                  "xg_override": 0.1877
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 2.3133,
                  "after": 2.5972
                },
                {
                  "stat": "shotOffTarget",
                  "before": 1.5842,
                  "after": 1.7786
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.7291,
                  "after": 0.8186
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.2062,
                  "after": 0.2315
                },
                {
                  "stat": "goals",
                  "before": 0.199,
                  "after": 0.2234
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.1672,
                  "after": 0.1877
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.143,
                  "after": 0.1605
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.1877,
                "goal_rate": 0.2234,
                "goals": 0,
                "shots_on_target": 0.8186,
                "total_shots": 2.5972,
                "expected_assists": 0.1829,
                "key_pass": 1.7683,
                "rating": 7.1605,
                "minutes": 72.92,
                "total_pass": 38.2806,
                "accurate_pass": 31.7292,
                "duels_won": 4.4811,
                "total_long_balls": 2.5829,
                "accurate_long_balls": 1.2866,
                "total_opp_half_passes": 27.7944,
                "accurate_opp_half_passes": 23.2624,
                "crosses_total": 1.9783,
                "crosses_accurate": 0.7527,
                "touches": 53.2243,
                "possession_lost": 10.8985,
                "dispossessed": 0.9903,
                "duels_lost": 4.3642,
                "aerial_lost": 0.6967,
                "total_contest": 2.6534,
                "won_contest": 1.995,
                "ball_recovery": 2.8009,
                "challenges_lost": 0.6598,
                "fouls": 1.7004,
                "fouls_drawn": 1.1124,
                "assist_rate": 0.0798,
                "assists": 0,
                "interceptions": 0.1977,
                "tackles_won": 0.5482,
                "tackles": 0.8115,
                "clearances": 0.2237,
                "blocks": 0.0,
                "big_chances_created": 0.2097,
                "big_chances_missed": 0.1605,
                "xgot": 0.2315,
                "offsides": 0.1299,
                "ball_carries": 21.1515,
                "total_progression": 61.2094,
                "progressive_carries": 3.3394,
                "shots_off_target": 1.7786,
                "duel_xg_multiplier": 1.1227,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.5,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.283,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
                "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 2.27 (squad xG sum 1.5979, xG scale 1.4181, xA scale 1.4181, team xA 1.65 = 0.73 x lambda)",
              "stats": {
                "expected_goals": 0.2662,
                "goal_rate": 0.2234,
                "goals": 0,
                "shots_on_target": 0.8186,
                "total_shots": 2.5972,
                "expected_assists": 0.2594,
                "key_pass": 1.7683,
                "rating": 7.1605,
                "minutes": 72.92,
                "total_pass": 38.2806,
                "accurate_pass": 31.7292,
                "duels_won": 4.4811,
                "total_long_balls": 2.5829,
                "accurate_long_balls": 1.2866,
                "total_opp_half_passes": 27.7944,
                "accurate_opp_half_passes": 23.2624,
                "crosses_total": 1.9783,
                "crosses_accurate": 0.7527,
                "touches": 53.2243,
                "possession_lost": 10.8985,
                "dispossessed": 0.9903,
                "duels_lost": 4.3642,
                "aerial_lost": 0.6967,
                "total_contest": 2.6534,
                "won_contest": 1.995,
                "ball_recovery": 2.8009,
                "challenges_lost": 0.6598,
                "fouls": 1.7004,
                "fouls_drawn": 1.1124,
                "assist_rate": 0.0798,
                "assists": 0,
                "interceptions": 0.1977,
                "tackles_won": 0.5482,
                "tackles": 0.8115,
                "clearances": 0.2237,
                "blocks": 0.0,
                "big_chances_created": 0.2097,
                "big_chances_missed": 0.1605,
                "xgot": 0.3283,
                "offsides": 0.1299,
                "ball_carries": 21.1515,
                "total_progression": 61.2094,
                "progressive_carries": 3.3394,
                "shots_off_target": 1.7786,
                "duel_xg_multiplier": 1.1227,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.5,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.283,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
                "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1502,
                "creation_factor": 0.8
              },
              "params": {
                "team_lambda": 2.266,
                "squad_xg_sum": 1.5979,
                "squad_xa_sum": 1.1609,
                "team_expected_assists": 1.6463,
                "team_xa_to_xg_ratio": 0.7265,
                "bench_appearance_weighted": true,
                "xg_scale": 1.4181,
                "xa_scale": 1.4181,
                "opponent_lambda": 1.191,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.1877,
                  "after": 0.2662
                },
                {
                  "stat": "expected_assists",
                  "before": 0.1829,
                  "after": 0.2594
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 2 by projected rating, fifa_overall 80.0)",
              "stats": {
                "expected_goals": 0.2662,
                "goal_rate": 0.2234,
                "goals": 0,
                "shots_on_target": 0.8186,
                "total_shots": 2.5972,
                "expected_assists": 0.2594,
                "key_pass": 1.7683,
                "rating": 7.1605,
                "minutes": 72.92,
                "total_pass": 38.2806,
                "accurate_pass": 31.7292,
                "duels_won": 4.4811,
                "total_long_balls": 2.5829,
                "accurate_long_balls": 1.2866,
                "total_opp_half_passes": 27.7944,
                "accurate_opp_half_passes": 23.2624,
                "crosses_total": 1.9783,
                "crosses_accurate": 0.7527,
                "touches": 53.2243,
                "possession_lost": 10.8985,
                "dispossessed": 0.9903,
                "duels_lost": 4.3642,
                "aerial_lost": 0.6967,
                "total_contest": 2.6534,
                "won_contest": 1.995,
                "ball_recovery": 2.8009,
                "challenges_lost": 0.6598,
                "fouls": 1.7004,
                "fouls_drawn": 1.1124,
                "assist_rate": 0.0798,
                "assists": 0,
                "interceptions": 0.1977,
                "tackles_won": 0.5482,
                "tackles": 0.8115,
                "clearances": 0.2237,
                "blocks": 0.0,
                "big_chances_created": 0.2097,
                "big_chances_missed": 0.1605,
                "xgot": 0.3283,
                "offsides": 0.1299,
                "ball_carries": 21.1515,
                "total_progression": 61.2094,
                "progressive_carries": 3.3394,
                "shots_off_target": 1.7786,
                "duel_xg_multiplier": 1.1227,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.5,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.283,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
                "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1502,
                "creation_factor": 0.8,
                "fifa_overall": 80.0
              },
              "params": {
                "match_squad_rank": 2,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 802,
                "fifa_rank": 759.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 80.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.2662,
                "goal_rate": 0.2234,
                "goals": 0,
                "shots_on_target": 0.8186,
                "total_shots": 2.5972,
                "expected_assists": 0.2594,
                "key_pass": 1.7683,
                "rating": 7.1605,
                "minutes": 72.92,
                "total_pass": 38.2806,
                "accurate_pass": 31.7292,
                "duels_won": 4.4811,
                "total_long_balls": 2.5829,
                "accurate_long_balls": 1.2866,
                "total_opp_half_passes": 27.7944,
                "accurate_opp_half_passes": 23.2624,
                "crosses_total": 1.9783,
                "crosses_accurate": 0.7527,
                "touches": 53.2243,
                "possession_lost": 10.8985,
                "dispossessed": 0.9903,
                "duels_lost": 4.3642,
                "aerial_lost": 0.6967,
                "total_contest": 2.6534,
                "won_contest": 1.995,
                "ball_recovery": 2.8009,
                "challenges_lost": 0.6598,
                "fouls": 1.7004,
                "fouls_drawn": 1.1124,
                "assist_rate": 0.0798,
                "assists": 0,
                "interceptions": 0.1977,
                "tackles_won": 0.5482,
                "tackles": 0.8115,
                "clearances": 0.2237,
                "blocks": 0.0,
                "big_chances_created": 0.2097,
                "big_chances_missed": 0.1605,
                "xgot": 0.3283,
                "offsides": 0.1299,
                "ball_carries": 21.1515,
                "total_progression": 61.2094,
                "progressive_carries": 3.3394,
                "shots_off_target": 1.7786,
                "duel_xg_multiplier": 1.1227,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.5,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.283,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
                "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.2337,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.1502,
                "creation_factor": 0.8,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.2337,
                "goal_rate": 0.2234,
                "scorer_weight": 0.3062,
                "squad_weight_total": 2.4769,
                "weight_share": 0.1236,
                "finishing_factor": 1.1502,
                "appearance_weight": 1.0,
                "weight_rank": 3,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.6971,
                    "already": 0,
                    "effective_weight": 0.6971,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.3346
                  },
                  {
                    "n": 2,
                    "player": "Alex Baena",
                    "weight": 0.3346,
                    "already": 0,
                    "effective_weight": 0.3346,
                    "runner_up": "Kang-in Lee",
                    "runner_up_effective_weight": 0.3062
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.2662,
                "goal_rate": 0.2234,
                "goals": 0,
                "shots_on_target": 0.8186,
                "total_shots": 2.5972,
                "expected_assists": 0.2594,
                "key_pass": 1.7683,
                "rating": 7.1605,
                "minutes": 72.92,
                "total_pass": 38.2806,
                "accurate_pass": 31.7292,
                "duels_won": 4.4811,
                "total_long_balls": 2.5829,
                "accurate_long_balls": 1.2866,
                "total_opp_half_passes": 27.7944,
                "accurate_opp_half_passes": 23.2624,
                "crosses_total": 1.9783,
                "crosses_accurate": 0.7527,
                "touches": 53.2243,
                "possession_lost": 10.8985,
                "dispossessed": 0.9903,
                "duels_lost": 4.3642,
                "aerial_lost": 0.6967,
                "total_contest": 2.6534,
                "won_contest": 1.995,
                "ball_recovery": 2.8009,
                "challenges_lost": 0.6598,
                "fouls": 1.7004,
                "fouls_drawn": 1.1124,
                "assist_rate": 0.0798,
                "assists": 0,
                "interceptions": 0.1977,
                "tackles_won": 0.5482,
                "tackles": 0.8115,
                "clearances": 0.2237,
                "blocks": 0.0,
                "big_chances_created": 0.2097,
                "big_chances_missed": 0.1605,
                "xgot": 0.3283,
                "offsides": 0.1299,
                "ball_carries": 21.1515,
                "total_progression": 61.2094,
                "progressive_carries": 3.3394,
                "shots_off_target": 1.7786,
                "duel_xg_multiplier": 1.1227,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 0.5,
                "aerial_won": 1.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.283,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Aïssa Mandi, Ifeanyi Ndukwe",
                "opponent_faced": "Aïssa Mandi, Ifeanyi Ndukwe",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.2337,
                "projected_assists": 0,
                "assist_probability": 0.2285,
                "finishing_factor": 1.1502,
                "creation_factor": 0.8,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.2285,
                "assist_rate": 0.0798,
                "provider_weight": 0.2075,
                "squad_weight_total": 1.6132,
                "weight_share": 0.1286,
                "creation_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 3,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.257,
                    "already": 0,
                    "effective_weight": 0.257,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.2198
                  }
                ]
              }
            }
          ]
        },
        "Morten Hjulmand": {
          "player_id": 859917,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 23,
          "height": 185,
          "market_value": 48000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0581,
            "assist_rate": 0.0557,
            "assists": 0,
            "expected_goals": 0.0954,
            "goal_rate": 0.0737,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 6.9243,
            "minutes": 83,
            "total_pass": 62,
            "accurate_pass": 57,
            "duels_won": 4,
            "total_long_balls": 4,
            "accurate_long_balls": 3,
            "total_own_half_passes": 31,
            "accurate_own_half_passes": 29,
            "total_opp_half_passes": 32,
            "accurate_opp_half_passes": 27,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 75,
            "possession_lost": 6.8508,
            "dispossessed": 0.3097,
            "duels_lost": 2,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 3,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 2,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 16,
            "total_progression": 38,
            "progressive_carries": 0,
            "shots_off_target": 1,
            "duel_xg_multiplier": 1.3277,
            "dribbles_attempted": 2,
            "dribbles_successful": 1.1,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.623,
            "pressing_faced": "LOW",
            "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
            "numerical_situation": "1v1",
            "opponent_defenders": "Oriol Rey",
            "opponent_faced": "Oriol Rey",
            "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.091,
            "projected_assists": 0,
            "assist_probability": 0.0564,
            "finishing_factor": 1.0546,
            "creation_factor": 1.1615,
            "fifa_overall": 83.0
          },
          "latest_10_games": [
            {
              "match_id": 16421082,
              "match_date": "2026-10-24",
              "home_team": "Atlético Madrid",
              "away_team": "Deportivo de A Coruña",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 80,
                "rating": 6.7,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0961,
                "expected_assists": 0.0122,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 59,
                "accurate_pass": 54,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 1,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 0,
                "ball_recovery": 4,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421071,
              "match_date": "2026-10-17",
              "home_team": "Espanyol",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1178,
                "expected_assists": 0.05,
                "total_shots": 3,
                "shots_off_target": 2,
                "total_pass": 90,
                "accurate_pass": 82,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 6,
                "clearances": 4,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416339,
              "match_date": "2026-09-20",
              "home_team": "Atlético Madrid",
              "away_team": "Real Madrid",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 8,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0399,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 3,
                "key_pass": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416335,
              "match_date": "2026-09-16",
              "home_team": "Atlético Madrid",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 9,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0032,
                "total_shots": 0,
                "total_pass": 11,
                "accurate_pass": 10
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416332,
              "match_date": "2026-09-13",
              "home_team": "Real Sociedad",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1497,
                "expected_assists": 0.0488,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 53,
                "accurate_pass": 48,
                "interceptions": 2,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416317,
              "match_date": "2026-09-05",
              "home_team": "Athletic Club",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 59,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1353,
                "total_shots": 0,
                "total_pass": 35,
                "accurate_pass": 28,
                "key_pass": 2,
                "tackles": 1,
                "interceptions": 3,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 85,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.028,
                "total_shots": 0,
                "total_pass": 49,
                "accurate_pass": 46,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416302,
              "match_date": "2026-08-23",
              "home_team": "Atlético Madrid",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0189,
                "expected_assists": 0.0565,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 66,
                "accurate_pass": 64,
                "key_pass": 5,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421055,
              "match_date": "2026-08-19",
              "home_team": "Atlético Madrid",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 12,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.002,
                "total_shots": 0,
                "total_pass": 11,
                "accurate_pass": 10,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 404,
            "combined_rank_score": 257.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 204.0,
            "sofascore_rating": 7.1875,
            "sofascore_appearances": 8.0,
            "fifa_rank": 310.0,
            "fifa_overall": 83.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.9243,
            "source_file": "data/player_rankings.csv",
            "player_name": "Morten Hjulmand",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Min Ji-Hoon",
                  "ranking": 399
                },
                {
                  "player_name": "Avazbek Ulmasaliyev",
                  "ranking": 400
                },
                {
                  "player_name": "Jun-yeong Jang",
                  "ranking": 401
                },
                {
                  "player_name": "Moise Kean",
                  "ranking": 402
                },
                {
                  "player_name": "Khurshidbek Mukhtorov",
                  "ranking": 403
                }
              ],
              "lower": [
                {
                  "player_name": "Seung-gun Kim",
                  "ranking": 405
                },
                {
                  "player_name": "Claudio Aquino",
                  "ranking": 406
                },
                {
                  "player_name": "Sherzod Nasrullaev",
                  "ranking": 407
                },
                {
                  "player_name": "Jun-sang Lee",
                  "ranking": 408
                },
                {
                  "player_name": "Boburbek Yuldashov",
                  "ranking": 409
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.771,
          "history_matches": 9,
          "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",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "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",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 9,
            "data_confidence": 0.771,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0334,
            "fbref_prior_metrics": {
              "squad": "Atlético Madrid",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 2.0,
              "minutes": 187.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.48,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.14
            },
            "rationale": "XGBoost regressor (M_service) evaluated 9 historical appearances across 8 target models; FBref 2026-2027 prior blended (La Liga, Atlético Madrid, rel: 0.14, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.5393,
                "expected_assists": 0.0396,
                "assists": 0.0557,
                "assist_rate": 0.0557,
                "expected_goals": 0.0491,
                "goals": 0.0556,
                "goal_rate": 0.0556,
                "shots_on_target": 0.1772,
                "total_shots": 0.8141,
                "rating": 6.9243,
                "minutes": 83.28,
                "total_pass": 60.2431,
                "accurate_pass": 54.9052,
                "duels_won": 4.0284,
                "total_long_balls": 3.7613,
                "accurate_long_balls": 2.6046,
                "total_own_half_passes": 29.5965,
                "accurate_own_half_passes": 28.5314,
                "total_opp_half_passes": 30.6466,
                "accurate_opp_half_passes": 26.3738,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 72.7902,
                "possession_lost": 6.6294,
                "dispossessed": 0.2997,
                "duels_lost": 2.1157,
                "aerial_won": 1.1118,
                "aerial_lost": 0.6335,
                "interceptions": 2.6002,
                "tackles_won": 0.7677,
                "tackles": 1.255,
                "clearances": 1.9056,
                "total_contest": 0.2997,
                "won_contest": 0.2997,
                "challenges_lost": 0.5351,
                "fouls": 0.6474,
                "fouls_drawn": 1.3619,
                "blocks": 0.2997,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 15.5385,
                "total_progression": 36.3961,
                "progressive_carries": 0.4094,
                "shots_off_target": 0.6369
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.1952,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1659,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Real Madrid",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 0.141,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Osasuna",
                    "minutes": 9.0,
                    "is_starting": false,
                    "weight": 0.1199,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Real Sociedad",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1019,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Athletic Club",
                    "minutes": 59.0,
                    "is_starting": true,
                    "weight": 0.0866,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Sevilla",
                    "minutes": 85.0,
                    "is_starting": true,
                    "weight": 0.0736,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-08-23",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0626,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-08-19",
                    "opponent": "Málaga CF",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.0532,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 9.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.9594,
                  "creative_index": 0.3407,
                  "expectedGoals": 0.0547,
                  "expectedAssists": 0.0391,
                  "totalOppositionHalfPasses": 22.9323
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.5392991304397583,
                    "model_output": 0.5393,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.1148
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0986
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0843
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0636
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0515
                        }
                      ],
                      "others": -0.1068,
                      "total": 0.5393,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.1381
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.136013
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.117375
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.087307
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.076648
                        }
                      ],
                      "others_margin": -0.180565
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.0396445132791996,
                    "model_output": 0.0396,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": -0.0181
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0133
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0086
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0057
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.005
                        }
                      ],
                      "others": -0.0118,
                      "total": 0.0396,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": -0.240025
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.221572
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.148343
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.096643
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.093696
                        }
                      ],
                      "others_margin": -0.25843
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.055737484246492386,
                    "model_output": 0.0557,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": -0.0136
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0075
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0073
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.005
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.004
                        }
                      ],
                      "others": -0.0069,
                      "total": 0.0557,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": -0.17446
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.10045
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.096796
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.071801
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.061938
                        }
                      ],
                      "others_margin": -0.11772
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.0490739606320858,
                    "model_output": 0.0491,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0139
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0101
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0092
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0074
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0046
                        }
                      ],
                      "others": -0.0155,
                      "total": 0.0491,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.164521
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.13891
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.128123
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.102089
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.067954
                        }
                      ],
                      "others_margin": -0.276896
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.055562812834978104,
                    "model_output": 0.0556,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.014
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0104
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0086
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": 0.0081
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0068
                        }
                      ],
                      "others": -0.0249,
                      "total": 0.0556,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.159816
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.137989
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.115005
                        },
                        {
                          "name": "shotValueNormalized",
                          "margin": 0.097521
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.080551
                        }
                      ],
                      "others_margin": -0.370382
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.17722608149051666,
                    "model_output": 0.1772,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0453
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0378
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0314
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0198
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0168
                        }
                      ],
                      "others": -0.0528,
                      "total": 0.1772,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.153419
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.14913
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.125157
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.077005
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.070612
                        }
                      ],
                      "others_margin": -0.260548
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.8140866756439209,
                    "model_output": 0.8141,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1342
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0495
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0349
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0338
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": 0.0337
                        }
                      ],
                      "others": -0.2197,
                      "total": 0.8141,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.134164
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.049473
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.03487
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.033779
                        },
                        {
                          "name": "shotValueNormalized",
                          "margin": 0.033713
                        }
                      ],
                      "others_margin": -0.219777
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.924306869506836,
                    "model_output": 6.9243,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0684
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0375
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0257
                        },
                        {
                          "name": "rating",
                          "contribution": -0.021
                        },
                        {
                          "name": "totalPass_p90",
                          "contribution": 0.0159
                        }
                      ],
                      "others": -0.0574,
                      "total": 6.9243,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.068421
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.037455
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.025749
                        },
                        {
                          "name": "rating",
                          "margin": -0.021021
                        },
                        {
                          "name": "totalPass_p90",
                          "margin": 0.015851
                        }
                      ],
                      "others_margin": -0.057343
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 9,
                  "role_matches": 6,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0334, quality 0.817)",
              "stats": {
                "key_pass": 0.5573,
                "expected_assists": 0.041,
                "assists": 0.0576,
                "assist_rate": 0.0576,
                "expected_goals": 0.0507,
                "goals": 0.0574,
                "goal_rate": 0.0574,
                "shots_on_target": 0.1831,
                "total_shots": 0.8413,
                "rating": 6.9243,
                "minutes": 83.28,
                "total_pass": 62.2552,
                "accurate_pass": 56.739,
                "duels_won": 4.1629,
                "total_long_balls": 3.8869,
                "accurate_long_balls": 2.6916,
                "total_own_half_passes": 30.585,
                "accurate_own_half_passes": 29.4843,
                "total_opp_half_passes": 31.6702,
                "accurate_opp_half_passes": 27.2547,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 75.2214,
                "possession_lost": 6.8508,
                "dispossessed": 0.3097,
                "duels_lost": 2.1864,
                "aerial_won": 1.1489,
                "aerial_lost": 0.6547,
                "interceptions": 2.687,
                "tackles_won": 0.7933,
                "tackles": 1.2969,
                "clearances": 1.9692,
                "total_contest": 0.3097,
                "won_contest": 0.3097,
                "challenges_lost": 0.553,
                "fouls": 0.669,
                "fouls_drawn": 1.4074,
                "blocks": 0.3097,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.0575,
                "total_progression": 37.6117,
                "progressive_carries": 0.4231,
                "shots_off_target": 0.6582
              },
              "params": {
                "market_value_eur": 48000000,
                "quality_factor": 0.8168,
                "boost_factor": 1.0334,
                "reference_quality": 0.505,
                "history_matches": 9,
                "history_shrink": 0.3571,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0325)",
              "stats": {
                "key_pass": 0.5573,
                "expected_assists": 0.041,
                "assists": 0.0557,
                "assist_rate": 0.0557,
                "expected_goals": 0.0507,
                "goals": 0.0555,
                "goal_rate": 0.0555,
                "shots_on_target": 0.1771,
                "total_shots": 0.8284,
                "rating": 6.9243,
                "minutes": 83.28,
                "total_pass": 62.2552,
                "accurate_pass": 56.739,
                "duels_won": 4.1629,
                "total_long_balls": 3.8869,
                "accurate_long_balls": 2.6916,
                "total_own_half_passes": 30.585,
                "accurate_own_half_passes": 29.4843,
                "total_opp_half_passes": 31.6702,
                "accurate_opp_half_passes": 27.2547,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 75.2214,
                "possession_lost": 6.8508,
                "dispossessed": 0.3097,
                "duels_lost": 2.1864,
                "aerial_won": 1.1489,
                "aerial_lost": 0.6547,
                "interceptions": 2.6426,
                "tackles_won": 0.8248,
                "tackles": 1.2969,
                "clearances": 1.9692,
                "total_contest": 0.3097,
                "won_contest": 0.3097,
                "challenges_lost": 0.553,
                "fouls": 0.6902,
                "fouls_drawn": 1.4189,
                "blocks": 0.3097,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.0575,
                "total_progression": 37.6117,
                "progressive_carries": 0.4231,
                "shots_off_target": 0.6582
              },
              "params": {
                "blend_weight": 0.0325,
                "history_matches": 9,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9253,
                "prior_reliability": 0.14,
                "competition": "La Liga",
                "squad": "Atlético Madrid"
              },
              "changes": [
                {
                  "stat": "interceptionWon",
                  "before": 2.687,
                  "after": 2.6426
                },
                {
                  "stat": "wonTackle",
                  "before": 0.7933,
                  "after": 0.8248
                },
                {
                  "stat": "fouls",
                  "before": 0.669,
                  "after": 0.6902
                },
                {
                  "stat": "totalShots",
                  "before": 0.8413,
                  "after": 0.8284
                },
                {
                  "stat": "wasFouled",
                  "before": 1.4074,
                  "after": 1.4189
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.1831,
                  "after": 0.1771
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.5573,
                "expected_assists": 0.041,
                "assists": 0.0557,
                "assist_rate": 0.0557,
                "expected_goals": 0.0507,
                "goals": 0.0555,
                "goal_rate": 0.0555,
                "shots_on_target": 0.1771,
                "total_shots": 0.8353,
                "rating": 6.9243,
                "minutes": 83.28,
                "total_pass": 62.2552,
                "accurate_pass": 56.739,
                "duels_won": 4.1629,
                "total_long_balls": 3.8869,
                "accurate_long_balls": 2.6916,
                "total_own_half_passes": 30.585,
                "accurate_own_half_passes": 29.4843,
                "total_opp_half_passes": 31.6702,
                "accurate_opp_half_passes": 27.2547,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 75.2214,
                "possession_lost": 6.8508,
                "dispossessed": 0.3097,
                "duels_lost": 2.1864,
                "aerial_won": 1.1489,
                "aerial_lost": 0.6547,
                "interceptions": 2.6426,
                "tackles_won": 0.8248,
                "tackles": 1.2969,
                "clearances": 1.9692,
                "total_contest": 0.3097,
                "won_contest": 0.3097,
                "challenges_lost": 0.553,
                "fouls": 0.6902,
                "fouls_drawn": 1.4189,
                "blocks": 0.3097,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.0575,
                "total_progression": 37.6117,
                "progressive_carries": 0.4231,
                "shots_off_target": 0.6582
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 0.5573,
                "expected_assists": 0.041,
                "assists": 0.0557,
                "assist_rate": 0.0557,
                "expected_goals": 0.0673,
                "goals": 0.0737,
                "goal_rate": 0.0737,
                "shots_on_target": 0.2351,
                "total_shots": 1.109,
                "rating": 6.9243,
                "minutes": 83.28,
                "total_pass": 62.2552,
                "accurate_pass": 56.739,
                "duels_won": 4.1629,
                "total_long_balls": 3.8869,
                "accurate_long_balls": 2.6916,
                "total_own_half_passes": 30.585,
                "accurate_own_half_passes": 29.4843,
                "total_opp_half_passes": 31.6702,
                "accurate_opp_half_passes": 27.2547,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 75.2214,
                "possession_lost": 6.8508,
                "dispossessed": 0.3097,
                "duels_lost": 2.1864,
                "aerial_won": 1.2,
                "aerial_lost": 0.6547,
                "interceptions": 2.6426,
                "tackles_won": 0.8248,
                "tackles": 1.2969,
                "clearances": 1.9692,
                "total_contest": 0.3097,
                "won_contest": 0.3097,
                "challenges_lost": 0.553,
                "fouls": 0.6902,
                "fouls_drawn": 1.4189,
                "blocks": 0.3097,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.0575,
                "total_progression": 37.6117,
                "progressive_carries": 0.4231,
                "shots_off_target": 0.8739,
                "duel_xg_multiplier": 1.3277,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 1.1,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.623,
                "pressing_faced": "LOW",
                "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Oriol Rey",
                "opponent_faced": "Oriol Rey",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Oriol Rey",
                  "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                  "duel_win_rate": 0.623,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 1.3277,
                  "skill_edge": 0.1829,
                  "height_edge": 0.04,
                  "attacker_skill": 0.8439,
                  "defender_skill": 0.4374,
                  "attacker_role": "CDM",
                  "attacker_mv_price_index": 0.85,
                  "defender_adjusted_parts": [
                    {
                      "player": "Oriol Rey",
                      "market_value": 1700000,
                      "role": "CM",
                      "price_index": 0.9,
                      "adjusted_quality": 0.4374
                    }
                  ],
                  "xg_override": 0.0673
                }
              },
              "changes": [
                {
                  "stat": "totalShots",
                  "before": 0.8353,
                  "after": 1.109
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.6582,
                  "after": 0.8739
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.1771,
                  "after": 0.2351
                },
                {
                  "stat": "aerialWon",
                  "before": 1.1489,
                  "after": 1.2
                },
                {
                  "stat": "goals",
                  "before": 0.0555,
                  "after": 0.0737
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.0507,
                  "after": 0.0673
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 0.5573,
                "expected_assists": 0.041,
                "assist_rate": 0.0557,
                "assists": 0,
                "expected_goals": 0.0673,
                "goal_rate": 0.0737,
                "goals": 0,
                "shots_on_target": 0.2351,
                "total_shots": 1.109,
                "rating": 6.9243,
                "minutes": 83.28,
                "total_pass": 62.2552,
                "accurate_pass": 56.739,
                "duels_won": 4.1629,
                "total_long_balls": 3.8869,
                "accurate_long_balls": 2.6916,
                "total_own_half_passes": 30.585,
                "accurate_own_half_passes": 29.4843,
                "total_opp_half_passes": 31.6702,
                "accurate_opp_half_passes": 27.2547,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 75.2214,
                "possession_lost": 6.8508,
                "dispossessed": 0.3097,
                "duels_lost": 2.1864,
                "aerial_won": 1.2,
                "aerial_lost": 0.6547,
                "interceptions": 2.6426,
                "tackles_won": 0.8248,
                "tackles": 1.2969,
                "clearances": 1.9692,
                "total_contest": 0.3097,
                "won_contest": 0.3097,
                "challenges_lost": 0.553,
                "fouls": 0.6902,
                "fouls_drawn": 1.4189,
                "blocks": 0.3097,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.0575,
                "total_progression": 37.6117,
                "progressive_carries": 0.4231,
                "shots_off_target": 0.8739,
                "duel_xg_multiplier": 1.3277,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 1.1,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.623,
                "pressing_faced": "LOW",
                "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Oriol Rey",
                "opponent_faced": "Oriol Rey",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 2.27 (squad xG sum 1.5979, xG scale 1.4181, xA scale 1.4181, team xA 1.65 = 0.73 x lambda)",
              "stats": {
                "key_pass": 0.5573,
                "expected_assists": 0.0581,
                "assist_rate": 0.0557,
                "assists": 0,
                "expected_goals": 0.0954,
                "goal_rate": 0.0737,
                "goals": 0,
                "shots_on_target": 0.2351,
                "total_shots": 1.109,
                "rating": 6.9243,
                "minutes": 83.28,
                "total_pass": 62.2552,
                "accurate_pass": 56.739,
                "duels_won": 4.1629,
                "total_long_balls": 3.8869,
                "accurate_long_balls": 2.6916,
                "total_own_half_passes": 30.585,
                "accurate_own_half_passes": 29.4843,
                "total_opp_half_passes": 31.6702,
                "accurate_opp_half_passes": 27.2547,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 75.2214,
                "possession_lost": 6.8508,
                "dispossessed": 0.3097,
                "duels_lost": 2.1864,
                "aerial_won": 1.2,
                "aerial_lost": 0.6547,
                "interceptions": 2.6426,
                "tackles_won": 0.8248,
                "tackles": 1.2969,
                "clearances": 1.9692,
                "total_contest": 0.3097,
                "won_contest": 0.3097,
                "challenges_lost": 0.553,
                "fouls": 0.6902,
                "fouls_drawn": 1.4189,
                "blocks": 0.3097,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.0575,
                "total_progression": 37.6117,
                "progressive_carries": 0.4231,
                "shots_off_target": 0.8739,
                "duel_xg_multiplier": 1.3277,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 1.1,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.623,
                "pressing_faced": "LOW",
                "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Oriol Rey",
                "opponent_faced": "Oriol Rey",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0546,
                "creation_factor": 1.1615
              },
              "params": {
                "team_lambda": 2.266,
                "squad_xg_sum": 1.5979,
                "squad_xa_sum": 1.1609,
                "team_expected_assists": 1.6463,
                "team_xa_to_xg_ratio": 0.7265,
                "bench_appearance_weighted": true,
                "xg_scale": 1.4181,
                "xa_scale": 1.4181,
                "opponent_lambda": 1.191,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0673,
                  "after": 0.0954
                },
                {
                  "stat": "expected_assists",
                  "before": 0.041,
                  "after": 0.0581
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 11 by projected rating, fifa_overall 83.0)",
              "stats": {
                "key_pass": 0.5573,
                "expected_assists": 0.0581,
                "assist_rate": 0.0557,
                "assists": 0,
                "expected_goals": 0.0954,
                "goal_rate": 0.0737,
                "goals": 0,
                "shots_on_target": 0.2351,
                "total_shots": 1.109,
                "rating": 6.9243,
                "minutes": 83.28,
                "total_pass": 62.2552,
                "accurate_pass": 56.739,
                "duels_won": 4.1629,
                "total_long_balls": 3.8869,
                "accurate_long_balls": 2.6916,
                "total_own_half_passes": 30.585,
                "accurate_own_half_passes": 29.4843,
                "total_opp_half_passes": 31.6702,
                "accurate_opp_half_passes": 27.2547,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 75.2214,
                "possession_lost": 6.8508,
                "dispossessed": 0.3097,
                "duels_lost": 2.1864,
                "aerial_won": 1.2,
                "aerial_lost": 0.6547,
                "interceptions": 2.6426,
                "tackles_won": 0.8248,
                "tackles": 1.2969,
                "clearances": 1.9692,
                "total_contest": 0.3097,
                "won_contest": 0.3097,
                "challenges_lost": 0.553,
                "fouls": 0.6902,
                "fouls_drawn": 1.4189,
                "blocks": 0.3097,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.0575,
                "total_progression": 37.6117,
                "progressive_carries": 0.4231,
                "shots_off_target": 0.8739,
                "duel_xg_multiplier": 1.3277,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 1.1,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.623,
                "pressing_faced": "LOW",
                "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Oriol Rey",
                "opponent_faced": "Oriol Rey",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0546,
                "creation_factor": 1.1615,
                "fifa_overall": 83.0
              },
              "params": {
                "match_squad_rank": 11,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 404,
                "fifa_rank": 310.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 83.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 0.5573,
                "expected_assists": 0.0581,
                "assist_rate": 0.0557,
                "assists": 0,
                "expected_goals": 0.0954,
                "goal_rate": 0.0737,
                "goals": 0,
                "shots_on_target": 0.2351,
                "total_shots": 1.109,
                "rating": 6.9243,
                "minutes": 83.28,
                "total_pass": 62.2552,
                "accurate_pass": 56.739,
                "duels_won": 4.1629,
                "total_long_balls": 3.8869,
                "accurate_long_balls": 2.6916,
                "total_own_half_passes": 30.585,
                "accurate_own_half_passes": 29.4843,
                "total_opp_half_passes": 31.6702,
                "accurate_opp_half_passes": 27.2547,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 75.2214,
                "possession_lost": 6.8508,
                "dispossessed": 0.3097,
                "duels_lost": 2.1864,
                "aerial_won": 1.2,
                "aerial_lost": 0.6547,
                "interceptions": 2.6426,
                "tackles_won": 0.8248,
                "tackles": 1.2969,
                "clearances": 1.9692,
                "total_contest": 0.3097,
                "won_contest": 0.3097,
                "challenges_lost": 0.553,
                "fouls": 0.6902,
                "fouls_drawn": 1.4189,
                "blocks": 0.3097,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.0575,
                "total_progression": 37.6117,
                "progressive_carries": 0.4231,
                "shots_off_target": 0.8739,
                "duel_xg_multiplier": 1.3277,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 1.1,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.623,
                "pressing_faced": "LOW",
                "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Oriol Rey",
                "opponent_faced": "Oriol Rey",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.091,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0546,
                "creation_factor": 1.1615,
                "fifa_overall": 83.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.091,
                "goal_rate": 0.0737,
                "scorer_weight": 0.1006,
                "squad_weight_total": 2.4769,
                "weight_share": 0.0406,
                "finishing_factor": 1.0546,
                "appearance_weight": 1.0,
                "weight_rank": 8,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.6971,
                    "already": 0,
                    "effective_weight": 0.6971,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.3346
                  },
                  {
                    "n": 2,
                    "player": "Alex Baena",
                    "weight": 0.3346,
                    "already": 0,
                    "effective_weight": 0.3346,
                    "runner_up": "Kang-in Lee",
                    "runner_up_effective_weight": 0.3062
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.5573,
                "expected_assists": 0.0581,
                "assist_rate": 0.0557,
                "assists": 0,
                "expected_goals": 0.0954,
                "goal_rate": 0.0737,
                "goals": 0,
                "shots_on_target": 0.2351,
                "total_shots": 1.109,
                "rating": 6.9243,
                "minutes": 83.28,
                "total_pass": 62.2552,
                "accurate_pass": 56.739,
                "duels_won": 4.1629,
                "total_long_balls": 3.8869,
                "accurate_long_balls": 2.6916,
                "total_own_half_passes": 30.585,
                "accurate_own_half_passes": 29.4843,
                "total_opp_half_passes": 31.6702,
                "accurate_opp_half_passes": 27.2547,
                "crosses_total": 0.0,
                "crosses_accurate": 0.0,
                "touches": 75.2214,
                "possession_lost": 6.8508,
                "dispossessed": 0.3097,
                "duels_lost": 2.1864,
                "aerial_won": 1.2,
                "aerial_lost": 0.6547,
                "interceptions": 2.6426,
                "tackles_won": 0.8248,
                "tackles": 1.2969,
                "clearances": 1.9692,
                "total_contest": 0.3097,
                "won_contest": 0.3097,
                "challenges_lost": 0.553,
                "fouls": 0.6902,
                "fouls_drawn": 1.4189,
                "blocks": 0.3097,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "ball_carries": 16.0575,
                "total_progression": 37.6117,
                "progressive_carries": 0.4231,
                "shots_off_target": 0.8739,
                "duel_xg_multiplier": 1.3277,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 1.1,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.623,
                "pressing_faced": "LOW",
                "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Oriol Rey",
                "opponent_faced": "Oriol Rey",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.091,
                "projected_assists": 0,
                "assist_probability": 0.0564,
                "finishing_factor": 1.0546,
                "creation_factor": 1.1615,
                "fifa_overall": 83.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0564,
                "assist_rate": 0.0557,
                "provider_weight": 0.0675,
                "squad_weight_total": 1.6132,
                "weight_share": 0.0418,
                "creation_factor": 1.1615,
                "appearance_weight": 1.0,
                "weight_rank": 9,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.257,
                    "already": 0,
                    "effective_weight": 0.257,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.2198
                  }
                ]
              }
            }
          ]
        },
        "Pablo Barrios": {
          "player_id": 1142588,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 8,
          "height": 181,
          "market_value": 77000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.1634,
            "assist_rate": 0.1409,
            "assists": 0,
            "expected_goals": 0.1188,
            "goal_rate": 0.0831,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "rating": 7.0222,
            "minutes": 70,
            "total_pass": 49,
            "accurate_pass": 44,
            "duels_won": 4,
            "total_long_balls": 3,
            "accurate_long_balls": 2,
            "total_own_half_passes": 17,
            "accurate_own_half_passes": 16,
            "total_opp_half_passes": 33,
            "accurate_opp_half_passes": 28,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 63,
            "possession_lost": 10.1039,
            "dispossessed": 1.3316,
            "duels_lost": 3,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 1,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 0,
            "total_contest": 2,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.14,
            "ball_carries": 21,
            "total_progression": 56,
            "progressive_carries": 2,
            "shots_off_target": 1,
            "duel_xg_multiplier": 1.2653,
            "dribbles_attempted": 3,
            "dribbles_successful": 1.7,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.64,
            "pressing_faced": "LOW",
            "matchup_zone": "Attacking Mid vs Single Holding Mid — Space Creator Duel",
            "numerical_situation": "1v1",
            "opponent_defenders": "Daniel Requena",
            "opponent_faced": "Daniel Requena",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.112,
            "projected_assists": 0,
            "assist_probability": 0.1507,
            "finishing_factor": 0.9948,
            "creation_factor": 1.1556,
            "fifa_overall": 83.0
          },
          "latest_10_games": [
            {
              "match_id": 16421082,
              "match_date": "2026-10-24",
              "home_team": "Atlético Madrid",
              "away_team": "Deportivo de A Coruña",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 45,
                "rating": 6.5,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1176,
                "expected_assists": 0.0122,
                "total_shots": 2,
                "shots_on_target": 0,
                "shots_off_target": 2,
                "total_pass": 25,
                "accurate_pass": 19,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 0,
                "interceptions": 1,
                "clearances": 0,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 0,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421071,
              "match_date": "2026-10-17",
              "home_team": "Espanyol",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 55,
                "rating": 7.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1473,
                "total_shots": 0,
                "total_pass": 55,
                "accurate_pass": 46,
                "key_pass": 1,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo Alavés",
              "stats": {
                "minutes": 57,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0299,
                "expected_assists": 0.028,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 40,
                "accurate_pass": 37,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416317,
              "match_date": "2026-09-05",
              "home_team": "Athletic Club",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0391,
                "expected_assists": 0.154,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 73,
                "accurate_pass": 69,
                "key_pass": 3,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 4,
                "clearances": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.111,
                "expected_assists": 0.0406,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 80,
                "accurate_pass": 71,
                "key_pass": 2,
                "tackles": 1,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416302,
              "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": 24,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.2205,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 23,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421055,
              "match_date": "2026-08-19",
              "home_team": "Atlético Madrid",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 7.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1045,
                "total_shots": 0,
                "total_pass": 58,
                "accurate_pass": 51,
                "key_pass": 1,
                "interceptions": 3,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083242,
              "match_date": "2026-04-25",
              "home_team": "Atlético Madrid",
              "away_team": "Athletic Club",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 58,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0266,
                "total_shots": 0,
                "total_pass": 43,
                "accurate_pass": 36,
                "interceptions": 4,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083306,
              "match_date": "2026-04-22",
              "home_team": "Elche",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Elche",
              "stats": {
                "minutes": 28,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.085,
                "expected_assists": 0.0111,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 18,
                "accurate_pass": 18,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083241,
              "match_date": "2026-01-31",
              "home_team": "Levante UD",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Levante UD",
              "stats": {
                "minutes": 50,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0088,
                "total_shots": 0,
                "total_pass": 20,
                "accurate_pass": 18,
                "tackles": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 246,
            "combined_rank_score": 183.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 52.0,
            "sofascore_rating": 7.7,
            "sofascore_appearances": 1.0,
            "fifa_rank": 315.0,
            "fifa_overall": 83.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 7.0222,
            "source_file": "data/player_rankings.csv",
            "player_name": "Pablo Barrios",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Léo Pereira",
                  "ranking": 241
                },
                {
                  "player_name": "Andrei Cojuhar",
                  "ranking": 242
                },
                {
                  "player_name": "Willian Pacho",
                  "ranking": 243
                },
                {
                  "player_name": "Alex Baena",
                  "ranking": 244
                },
                {
                  "player_name": "Denzel Dumfries",
                  "ranking": 245
                }
              ],
              "lower": [
                {
                  "player_name": "Joaquín Moya",
                  "ranking": 247
                },
                {
                  "player_name": "Leonard Pllana",
                  "ranking": 248
                },
                {
                  "player_name": "Eldor Adhamov",
                  "ranking": 249
                },
                {
                  "player_name": "Arda Güler",
                  "ranking": 250
                },
                {
                  "player_name": "David Raum",
                  "ranking": 251
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.773,
          "history_matches": 30,
          "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",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "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",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 30,
            "data_confidence": 0.773,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.016,
            "fbref_prior_metrics": {
              "squad": "Atlético Madrid",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 2.0,
              "minutes": 205.0,
              "goals_per90": 0.0,
              "assists_per90": 0.4347826086956522,
              "shots_per90": 0.44,
              "shots_on_target_pct": 100.0,
              "prior_reliability": 0.1533
            },
            "rationale": "XGBoost regressor (M_service) evaluated 30 historical appearances across 8 target models; FBref 2026-2027 prior blended (La Liga, Atlético Madrid, rel: 0.15, gls/90: 0.0, ast/90: 0.4347826086956522)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 1.3123,
                "expected_assists": 0.1134,
                "assists": 0.136,
                "assist_rate": 0.136,
                "expected_goals": 0.0652,
                "goals": 0.0655,
                "goal_rate": 0.0655,
                "shots_on_target": 0.2907,
                "total_shots": 1.0069,
                "rating": 7.0222,
                "minutes": 69.68,
                "total_pass": 48.6981,
                "accurate_pass": 43.1199,
                "duels_won": 3.6158,
                "total_long_balls": 3.1331,
                "accurate_long_balls": 2.1298,
                "total_own_half_passes": 16.6781,
                "accurate_own_half_passes": 15.4815,
                "total_opp_half_passes": 32.02,
                "accurate_opp_half_passes": 27.6384,
                "crosses_total": 1.1524,
                "crosses_accurate": 0.346,
                "touches": 61.8212,
                "possession_lost": 9.9448,
                "dispossessed": 1.3106,
                "duels_lost": 3.4075,
                "aerial_won": 0.7811,
                "aerial_lost": 0.2239,
                "interceptions": 1.4164,
                "tackles_won": 0.4066,
                "tackles": 1.0328,
                "clearances": 0.2733,
                "total_contest": 1.7517,
                "won_contest": 1.1385,
                "challenges_lost": 0.8004,
                "fouls": 0.4593,
                "fouls_drawn": 0.6635,
                "blocks": 0.1251,
                "big_chances_created": 0.1523,
                "big_chances_missed": 0.016,
                "xgot": 0.0768,
                "ball_carries": 20.4167,
                "total_progression": 55.5184,
                "progressive_carries": 1.5265,
                "shots_off_target": 0.7162
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.1512,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Espanyol",
                    "minutes": 55.0,
                    "is_starting": true,
                    "weight": 0.1285,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Deportivo Alavés",
                    "minutes": 57.0,
                    "is_starting": true,
                    "weight": 0.1092,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0928,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Sevilla",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0789,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-08-23",
                    "opponent": "Villarreal",
                    "minutes": 24.0,
                    "is_starting": false,
                    "weight": 0.0671,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-19",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.057,
                    "rating": 7.7
                  },
                  {
                    "match_date": "2026-04-25",
                    "opponent": "Athletic Club",
                    "minutes": 58.0,
                    "is_starting": true,
                    "weight": 0.0485,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-04-22",
                    "opponent": "Elche",
                    "minutes": 28.0,
                    "is_starting": false,
                    "weight": 0.0412,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-01-31",
                    "opponent": "Levante UD",
                    "minutes": 50.0,
                    "is_starting": true,
                    "weight": 0.035,
                    "rating": 6.5
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalShots": 0.9673,
                  "creative_index": 0.5163,
                  "expectedGoals": 0.0504,
                  "expectedAssists": 0.0882,
                  "totalOppositionHalfPasses": 30.2383
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 1.3122960329055786,
                    "model_output": 1.3123,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1162
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0823
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0827
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0507
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0473
                        }
                      ],
                      "others": 0.1442,
                      "total": 1.3123,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.122679
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.07861
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.073198
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.044204
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.041337
                        }
                      ],
                      "others_margin": 0.116384
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.11339730024337769,
                    "model_output": 0.1134,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0121
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0064
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0044
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0035
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0035
                        }
                      ],
                      "others": 0.0074,
                      "total": 0.1134,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.132856
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.064115
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.043222
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.034378
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.033806
                        }
                      ],
                      "others_margin": 0.06699
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.13595116138458252,
                    "model_output": 0.136,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": 0.0095
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": 0.0099
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0071
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0069
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.007
                        }
                      ],
                      "others": 0.0106,
                      "total": 0.136,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": 0.106253
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": 0.099843
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.065463
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.059832
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.057692
                        }
                      ],
                      "others_margin": 0.080293
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.06520624458789825,
                    "model_output": 0.0652,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0153
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0102
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0083
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0057
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0038
                        }
                      ],
                      "others": -0.0109,
                      "total": 0.0652,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "expectedGoals",
                          "margin": -0.183288
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.143296
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.118646
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.074293
                        },
                        {
                          "name": "goals",
                          "margin": -0.048572
                        }
                      ],
                      "others_margin": -0.155806
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.0655374601483345,
                    "model_output": 0.0655,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0187
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0122
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0076
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0043
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0036
                        }
                      ],
                      "others": -0.0069,
                      "total": 0.0655,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.2191
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.173968
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.112213
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.058236
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.048271
                        }
                      ],
                      "others_margin": -0.100215
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.2906571924686432,
                    "model_output": 0.2907,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0448
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0341
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0274
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0194
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": -0.0138
                        }
                      ],
                      "others": 0.0049,
                      "total": 0.2907,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "interceptionWon",
                          "margin": -0.151621
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.117388
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.093159
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.066845
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": -0.047033
                        }
                      ],
                      "others_margin": 0.016741
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.006894588470459,
                    "model_output": 1.0069,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1503
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0644
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.051
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0207
                        },
                        {
                          "name": "accuratePass",
                          "contribution": -0.0196
                        }
                      ],
                      "others": -0.0738,
                      "total": 1.0069,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.150273
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.064411
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.050953
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.020684
                        },
                        {
                          "name": "accuratePass",
                          "margin": -0.01962
                        }
                      ],
                      "others_margin": -0.073725
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.022222518920898,
                    "model_output": 7.0222,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0844
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0362
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0239
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.021
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "contribution": 0.0172
                        }
                      ],
                      "others": -0.0157,
                      "total": 7.0222,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.084364
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.036242
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.023884
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.021034
                        },
                        {
                          "name": "ballCarriesCount_p90",
                          "margin": 0.017186
                        }
                      ],
                      "others_margin": -0.015683
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 30,
                  "role_matches": 26,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0160, quality 0.879)",
              "stats": {
                "key_pass": 1.3333,
                "expected_assists": 0.1152,
                "assists": 0.1381,
                "assist_rate": 0.1381,
                "expected_goals": 0.0662,
                "goals": 0.0666,
                "goal_rate": 0.0666,
                "shots_on_target": 0.2953,
                "total_shots": 1.023,
                "rating": 7.0222,
                "minutes": 69.68,
                "total_pass": 49.4773,
                "accurate_pass": 43.8098,
                "duels_won": 3.6737,
                "total_long_balls": 3.1832,
                "accurate_long_balls": 2.1639,
                "total_own_half_passes": 16.9449,
                "accurate_own_half_passes": 15.7292,
                "total_opp_half_passes": 32.5323,
                "accurate_opp_half_passes": 28.0806,
                "crosses_total": 1.1708,
                "crosses_accurate": 0.3515,
                "touches": 62.8103,
                "possession_lost": 10.1039,
                "dispossessed": 1.3316,
                "duels_lost": 3.462,
                "aerial_won": 0.7936,
                "aerial_lost": 0.2275,
                "interceptions": 1.4391,
                "tackles_won": 0.4131,
                "tackles": 1.0493,
                "clearances": 0.2777,
                "total_contest": 1.7797,
                "won_contest": 1.1567,
                "challenges_lost": 0.8132,
                "fouls": 0.4666,
                "fouls_drawn": 0.6741,
                "blocks": 0.1271,
                "big_chances_created": 0.1547,
                "big_chances_missed": 0.0163,
                "xgot": 0.078,
                "ball_carries": 20.7434,
                "total_progression": 56.4067,
                "progressive_carries": 1.5509,
                "shots_off_target": 0.7277
              },
              "params": {
                "market_value_eur": 77000000,
                "quality_factor": 0.8792,
                "boost_factor": 1.016,
                "reference_quality": 0.505,
                "history_matches": 30,
                "history_shrink": 0.1429,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0142)",
              "stats": {
                "key_pass": 1.3333,
                "expected_assists": 0.1152,
                "assists": 0.1409,
                "assist_rate": 0.1409,
                "expected_goals": 0.0662,
                "goals": 0.0657,
                "goal_rate": 0.0657,
                "shots_on_target": 0.2959,
                "total_shots": 1.0133,
                "rating": 7.0222,
                "minutes": 69.68,
                "total_pass": 49.4773,
                "accurate_pass": 43.8098,
                "duels_won": 3.6737,
                "total_long_balls": 3.1832,
                "accurate_long_balls": 2.1639,
                "total_own_half_passes": 16.9449,
                "accurate_own_half_passes": 15.7292,
                "total_opp_half_passes": 32.5323,
                "accurate_opp_half_passes": 28.0806,
                "crosses_total": 1.1589,
                "crosses_accurate": 0.3515,
                "touches": 62.8103,
                "possession_lost": 10.1039,
                "dispossessed": 1.3316,
                "duels_lost": 3.462,
                "aerial_won": 0.7936,
                "aerial_lost": 0.2275,
                "interceptions": 1.433,
                "tackles_won": 0.4168,
                "tackles": 1.0493,
                "clearances": 0.2777,
                "total_contest": 1.7797,
                "won_contest": 1.1567,
                "challenges_lost": 0.8132,
                "fouls": 0.4695,
                "fouls_drawn": 0.6885,
                "blocks": 0.1271,
                "big_chances_created": 0.1547,
                "big_chances_missed": 0.0163,
                "xgot": 0.078,
                "ball_carries": 20.7434,
                "total_progression": 56.4067,
                "progressive_carries": 1.5509,
                "shots_off_target": 0.7277
              },
              "params": {
                "blend_weight": 0.0142,
                "history_matches": 30,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.7742,
                "prior_reliability": 0.1533,
                "competition": "La Liga",
                "squad": "Atlético Madrid"
              },
              "changes": [
                {
                  "stat": "wasFouled",
                  "before": 0.6741,
                  "after": 0.6885
                },
                {
                  "stat": "totalCross",
                  "before": 1.1708,
                  "after": 1.1589
                },
                {
                  "stat": "totalShots",
                  "before": 1.023,
                  "after": 1.0133
                },
                {
                  "stat": "interceptionWon",
                  "before": 1.4391,
                  "after": 1.433
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1.3333,
                "expected_assists": 0.1152,
                "assists": 0.1409,
                "assist_rate": 0.1409,
                "expected_goals": 0.0662,
                "goals": 0.0657,
                "goal_rate": 0.0657,
                "shots_on_target": 0.2959,
                "total_shots": 1.0236,
                "rating": 7.0222,
                "minutes": 69.68,
                "total_pass": 49.4773,
                "accurate_pass": 43.8098,
                "duels_won": 3.6737,
                "total_long_balls": 3.1832,
                "accurate_long_balls": 2.1639,
                "total_own_half_passes": 16.9449,
                "accurate_own_half_passes": 15.7292,
                "total_opp_half_passes": 32.5323,
                "accurate_opp_half_passes": 28.0806,
                "crosses_total": 1.1589,
                "crosses_accurate": 0.3515,
                "touches": 62.8103,
                "possession_lost": 10.1039,
                "dispossessed": 1.3316,
                "duels_lost": 3.462,
                "aerial_won": 0.7936,
                "aerial_lost": 0.2275,
                "interceptions": 1.433,
                "tackles_won": 0.4168,
                "tackles": 1.0493,
                "clearances": 0.2777,
                "total_contest": 1.7797,
                "won_contest": 1.1567,
                "challenges_lost": 0.8132,
                "fouls": 0.4695,
                "fouls_drawn": 0.6885,
                "blocks": 0.1271,
                "big_chances_created": 0.1547,
                "big_chances_missed": 0.0163,
                "xgot": 0.078,
                "ball_carries": 20.7434,
                "total_progression": 56.4067,
                "progressive_carries": 1.5509,
                "shots_off_target": 0.7277
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1.3333,
                "expected_assists": 0.1152,
                "assists": 0.1409,
                "assist_rate": 0.1409,
                "expected_goals": 0.0838,
                "goals": 0.0831,
                "goal_rate": 0.0831,
                "shots_on_target": 0.3744,
                "total_shots": 1.2952,
                "rating": 7.0222,
                "minutes": 69.68,
                "total_pass": 49.4773,
                "accurate_pass": 43.8098,
                "duels_won": 3.6737,
                "total_long_balls": 3.1832,
                "accurate_long_balls": 2.1639,
                "total_own_half_passes": 16.9449,
                "accurate_own_half_passes": 15.7292,
                "total_opp_half_passes": 32.5323,
                "accurate_opp_half_passes": 28.0806,
                "crosses_total": 1.1589,
                "crosses_accurate": 0.3515,
                "touches": 62.8103,
                "possession_lost": 10.1039,
                "dispossessed": 1.3316,
                "duels_lost": 3.462,
                "aerial_won": 1.1,
                "aerial_lost": 0.2275,
                "interceptions": 1.433,
                "tackles_won": 0.4168,
                "tackles": 1.0493,
                "clearances": 0.2777,
                "total_contest": 1.7797,
                "won_contest": 1.1567,
                "challenges_lost": 0.8132,
                "fouls": 0.4695,
                "fouls_drawn": 0.6885,
                "blocks": 0.1271,
                "big_chances_created": 0.1547,
                "big_chances_missed": 0.0206,
                "xgot": 0.0987,
                "ball_carries": 20.7434,
                "total_progression": 56.4067,
                "progressive_carries": 1.5509,
                "shots_off_target": 0.9208,
                "duel_xg_multiplier": 1.2653,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 1.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.64,
                "pressing_faced": "LOW",
                "matchup_zone": "Attacking Mid vs Single Holding Mid — Space Creator Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Daniel Requena",
                "opponent_faced": "Daniel Requena",
                "antagonist_source": "attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Daniel Requena",
                  "matchup_zone": "Attacking Mid vs Single Holding Mid — Space Creator Duel",
                  "duel_win_rate": 0.64,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 1.2653,
                  "skill_edge": 0.2005,
                  "height_edge": -0.02,
                  "attacker_skill": 0.8829,
                  "defender_skill": 0.4374,
                  "attacker_role": "CAM",
                  "attacker_mv_price_index": 0.95,
                  "defender_adjusted_parts": [
                    {
                      "player": "Daniel Requena",
                      "market_value": 1500000,
                      "role": "CDM",
                      "price_index": 0.85,
                      "adjusted_quality": 0.4374
                    }
                  ],
                  "xg_override": 0.0838
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.7936,
                  "after": 1.1
                },
                {
                  "stat": "totalShots",
                  "before": 1.0236,
                  "after": 1.2952
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.7277,
                  "after": 0.9208
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.2959,
                  "after": 0.3744
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.078,
                  "after": 0.0987
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.0662,
                  "after": 0.0838
                },
                {
                  "stat": "goals",
                  "before": 0.0657,
                  "after": 0.0831
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 1.3333,
                "expected_assists": 0.1152,
                "assist_rate": 0.1409,
                "assists": 0,
                "expected_goals": 0.0838,
                "goal_rate": 0.0831,
                "goals": 0,
                "shots_on_target": 0.3744,
                "total_shots": 1.2952,
                "rating": 7.0222,
                "minutes": 69.68,
                "total_pass": 49.4773,
                "accurate_pass": 43.8098,
                "duels_won": 3.6737,
                "total_long_balls": 3.1832,
                "accurate_long_balls": 2.1639,
                "total_own_half_passes": 16.9449,
                "accurate_own_half_passes": 15.7292,
                "total_opp_half_passes": 32.5323,
                "accurate_opp_half_passes": 28.0806,
                "crosses_total": 1.1589,
                "crosses_accurate": 0.3515,
                "touches": 62.8103,
                "possession_lost": 10.1039,
                "dispossessed": 1.3316,
                "duels_lost": 3.462,
                "aerial_won": 1.1,
                "aerial_lost": 0.2275,
                "interceptions": 1.433,
                "tackles_won": 0.4168,
                "tackles": 1.0493,
                "clearances": 0.2777,
                "total_contest": 1.7797,
                "won_contest": 1.1567,
                "challenges_lost": 0.8132,
                "fouls": 0.4695,
                "fouls_drawn": 0.6885,
                "blocks": 0.1271,
                "big_chances_created": 0.1547,
                "big_chances_missed": 0.0206,
                "xgot": 0.0987,
                "ball_carries": 20.7434,
                "total_progression": 56.4067,
                "progressive_carries": 1.5509,
                "shots_off_target": 0.9208,
                "duel_xg_multiplier": 1.2653,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 1.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.64,
                "pressing_faced": "LOW",
                "matchup_zone": "Attacking Mid vs Single Holding Mid — Space Creator Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Daniel Requena",
                "opponent_faced": "Daniel Requena",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 2.27 (squad xG sum 1.5979, xG scale 1.4181, xA scale 1.4181, team xA 1.65 = 0.73 x lambda)",
              "stats": {
                "key_pass": 1.3333,
                "expected_assists": 0.1634,
                "assist_rate": 0.1409,
                "assists": 0,
                "expected_goals": 0.1188,
                "goal_rate": 0.0831,
                "goals": 0,
                "shots_on_target": 0.3744,
                "total_shots": 1.2952,
                "rating": 7.0222,
                "minutes": 69.68,
                "total_pass": 49.4773,
                "accurate_pass": 43.8098,
                "duels_won": 3.6737,
                "total_long_balls": 3.1832,
                "accurate_long_balls": 2.1639,
                "total_own_half_passes": 16.9449,
                "accurate_own_half_passes": 15.7292,
                "total_opp_half_passes": 32.5323,
                "accurate_opp_half_passes": 28.0806,
                "crosses_total": 1.1589,
                "crosses_accurate": 0.3515,
                "touches": 62.8103,
                "possession_lost": 10.1039,
                "dispossessed": 1.3316,
                "duels_lost": 3.462,
                "aerial_won": 1.1,
                "aerial_lost": 0.2275,
                "interceptions": 1.433,
                "tackles_won": 0.4168,
                "tackles": 1.0493,
                "clearances": 0.2777,
                "total_contest": 1.7797,
                "won_contest": 1.1567,
                "challenges_lost": 0.8132,
                "fouls": 0.4695,
                "fouls_drawn": 0.6885,
                "blocks": 0.1271,
                "big_chances_created": 0.1547,
                "big_chances_missed": 0.0206,
                "xgot": 0.14,
                "ball_carries": 20.7434,
                "total_progression": 56.4067,
                "progressive_carries": 1.5509,
                "shots_off_target": 0.9208,
                "duel_xg_multiplier": 1.2653,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 1.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.64,
                "pressing_faced": "LOW",
                "matchup_zone": "Attacking Mid vs Single Holding Mid — Space Creator Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Daniel Requena",
                "opponent_faced": "Daniel Requena",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9948,
                "creation_factor": 1.1556
              },
              "params": {
                "team_lambda": 2.266,
                "squad_xg_sum": 1.5979,
                "squad_xa_sum": 1.1609,
                "team_expected_assists": 1.6463,
                "team_xa_to_xg_ratio": 0.7265,
                "bench_appearance_weighted": true,
                "xg_scale": 1.4181,
                "xa_scale": 1.4181,
                "opponent_lambda": 1.191,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0838,
                  "after": 0.1188
                },
                {
                  "stat": "expected_assists",
                  "before": 0.1152,
                  "after": 0.1634
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 8 by projected rating, fifa_overall 83.0)",
              "stats": {
                "key_pass": 1.3333,
                "expected_assists": 0.1634,
                "assist_rate": 0.1409,
                "assists": 0,
                "expected_goals": 0.1188,
                "goal_rate": 0.0831,
                "goals": 0,
                "shots_on_target": 0.3744,
                "total_shots": 1.2952,
                "rating": 7.0222,
                "minutes": 69.68,
                "total_pass": 49.4773,
                "accurate_pass": 43.8098,
                "duels_won": 3.6737,
                "total_long_balls": 3.1832,
                "accurate_long_balls": 2.1639,
                "total_own_half_passes": 16.9449,
                "accurate_own_half_passes": 15.7292,
                "total_opp_half_passes": 32.5323,
                "accurate_opp_half_passes": 28.0806,
                "crosses_total": 1.1589,
                "crosses_accurate": 0.3515,
                "touches": 62.8103,
                "possession_lost": 10.1039,
                "dispossessed": 1.3316,
                "duels_lost": 3.462,
                "aerial_won": 1.1,
                "aerial_lost": 0.2275,
                "interceptions": 1.433,
                "tackles_won": 0.4168,
                "tackles": 1.0493,
                "clearances": 0.2777,
                "total_contest": 1.7797,
                "won_contest": 1.1567,
                "challenges_lost": 0.8132,
                "fouls": 0.4695,
                "fouls_drawn": 0.6885,
                "blocks": 0.1271,
                "big_chances_created": 0.1547,
                "big_chances_missed": 0.0206,
                "xgot": 0.14,
                "ball_carries": 20.7434,
                "total_progression": 56.4067,
                "progressive_carries": 1.5509,
                "shots_off_target": 0.9208,
                "duel_xg_multiplier": 1.2653,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 1.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.64,
                "pressing_faced": "LOW",
                "matchup_zone": "Attacking Mid vs Single Holding Mid — Space Creator Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Daniel Requena",
                "opponent_faced": "Daniel Requena",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9948,
                "creation_factor": 1.1556,
                "fifa_overall": 83.0
              },
              "params": {
                "match_squad_rank": 8,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 246,
                "fifa_rank": 315.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 83.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 1.3333,
                "expected_assists": 0.1634,
                "assist_rate": 0.1409,
                "assists": 0,
                "expected_goals": 0.1188,
                "goal_rate": 0.0831,
                "goals": 0,
                "shots_on_target": 0.3744,
                "total_shots": 1.2952,
                "rating": 7.0222,
                "minutes": 69.68,
                "total_pass": 49.4773,
                "accurate_pass": 43.8098,
                "duels_won": 3.6737,
                "total_long_balls": 3.1832,
                "accurate_long_balls": 2.1639,
                "total_own_half_passes": 16.9449,
                "accurate_own_half_passes": 15.7292,
                "total_opp_half_passes": 32.5323,
                "accurate_opp_half_passes": 28.0806,
                "crosses_total": 1.1589,
                "crosses_accurate": 0.3515,
                "touches": 62.8103,
                "possession_lost": 10.1039,
                "dispossessed": 1.3316,
                "duels_lost": 3.462,
                "aerial_won": 1.1,
                "aerial_lost": 0.2275,
                "interceptions": 1.433,
                "tackles_won": 0.4168,
                "tackles": 1.0493,
                "clearances": 0.2777,
                "total_contest": 1.7797,
                "won_contest": 1.1567,
                "challenges_lost": 0.8132,
                "fouls": 0.4695,
                "fouls_drawn": 0.6885,
                "blocks": 0.1271,
                "big_chances_created": 0.1547,
                "big_chances_missed": 0.0206,
                "xgot": 0.14,
                "ball_carries": 20.7434,
                "total_progression": 56.4067,
                "progressive_carries": 1.5509,
                "shots_off_target": 0.9208,
                "duel_xg_multiplier": 1.2653,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 1.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.64,
                "pressing_faced": "LOW",
                "matchup_zone": "Attacking Mid vs Single Holding Mid — Space Creator Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Daniel Requena",
                "opponent_faced": "Daniel Requena",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.112,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.9948,
                "creation_factor": 1.1556,
                "fifa_overall": 83.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.112,
                "goal_rate": 0.0831,
                "scorer_weight": 0.1182,
                "squad_weight_total": 2.4769,
                "weight_share": 0.0477,
                "finishing_factor": 0.9948,
                "appearance_weight": 1.0,
                "weight_rank": 7,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.6971,
                    "already": 0,
                    "effective_weight": 0.6971,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.3346
                  },
                  {
                    "n": 2,
                    "player": "Alex Baena",
                    "weight": 0.3346,
                    "already": 0,
                    "effective_weight": 0.3346,
                    "runner_up": "Kang-in Lee",
                    "runner_up_effective_weight": 0.3062
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 1.3333,
                "expected_assists": 0.1634,
                "assist_rate": 0.1409,
                "assists": 0,
                "expected_goals": 0.1188,
                "goal_rate": 0.0831,
                "goals": 0,
                "shots_on_target": 0.3744,
                "total_shots": 1.2952,
                "rating": 7.0222,
                "minutes": 69.68,
                "total_pass": 49.4773,
                "accurate_pass": 43.8098,
                "duels_won": 3.6737,
                "total_long_balls": 3.1832,
                "accurate_long_balls": 2.1639,
                "total_own_half_passes": 16.9449,
                "accurate_own_half_passes": 15.7292,
                "total_opp_half_passes": 32.5323,
                "accurate_opp_half_passes": 28.0806,
                "crosses_total": 1.1589,
                "crosses_accurate": 0.3515,
                "touches": 62.8103,
                "possession_lost": 10.1039,
                "dispossessed": 1.3316,
                "duels_lost": 3.462,
                "aerial_won": 1.1,
                "aerial_lost": 0.2275,
                "interceptions": 1.433,
                "tackles_won": 0.4168,
                "tackles": 1.0493,
                "clearances": 0.2777,
                "total_contest": 1.7797,
                "won_contest": 1.1567,
                "challenges_lost": 0.8132,
                "fouls": 0.4695,
                "fouls_drawn": 0.6885,
                "blocks": 0.1271,
                "big_chances_created": 0.1547,
                "big_chances_missed": 0.0206,
                "xgot": 0.14,
                "ball_carries": 20.7434,
                "total_progression": 56.4067,
                "progressive_carries": 1.5509,
                "shots_off_target": 0.9208,
                "duel_xg_multiplier": 1.2653,
                "dribbles_attempted": 3.0,
                "dribbles_successful": 1.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.64,
                "pressing_faced": "LOW",
                "matchup_zone": "Attacking Mid vs Single Holding Mid — Space Creator Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Daniel Requena",
                "opponent_faced": "Daniel Requena",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.112,
                "projected_assists": 0,
                "assist_probability": 0.1507,
                "finishing_factor": 0.9948,
                "creation_factor": 1.1556,
                "fifa_overall": 83.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.1507,
                "assist_rate": 0.1409,
                "provider_weight": 0.1888,
                "squad_weight_total": 1.6132,
                "weight_share": 0.1171,
                "creation_factor": 1.1556,
                "appearance_weight": 1.0,
                "weight_rank": 4,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.257,
                    "already": 0,
                    "effective_weight": 0.257,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.2198
                  }
                ]
              }
            }
          ]
        },
        "Alejandro Grimaldo": {
          "player_id": 177177,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 22,
          "height": 171,
          "market_value": 19400000,
          "stats": {
            "key_pass": 2,
            "expected_assists": 0.2116,
            "assist_rate": 0.1197,
            "assists": 0,
            "expected_goals": 0.2815,
            "goal_rate": 0.164,
            "goals": 0,
            "shots_on_target": 1,
            "total_shots": 2,
            "rating": 7.0417,
            "minutes": 89,
            "total_pass": 50,
            "accurate_pass": 44,
            "duels_won": 5,
            "total_long_balls": 3,
            "accurate_long_balls": 1,
            "total_own_half_passes": 19,
            "accurate_own_half_passes": 18,
            "total_opp_half_passes": 31,
            "accurate_opp_half_passes": 26,
            "crosses_total": 4,
            "crosses_accurate": 1,
            "touches": 76,
            "possession_lost": 13.6823,
            "dispossessed": 0.2373,
            "duels_lost": 3,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 1,
            "tackles_won": 2,
            "tackles": 2,
            "clearances": 1,
            "total_contest": 3,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.4012,
            "ball_carries": 19,
            "total_progression": 63,
            "progressive_carries": 2,
            "shots_off_target": 1,
            "duel_xg_multiplier": 1.1006,
            "dribbles_attempted": 4,
            "dribbles_successful": 1.9,
            "crosses_attempted": 2.2,
            "duel_win_rate": 0.548,
            "pressing_faced": "LOW",
            "matchup_zone": "Left Wing vs Right Back — Flank Battle",
            "numerical_situation": "1v1",
            "opponent_defenders": "Nacho Pérez",
            "opponent_faced": "Nacho Pérez",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.2453,
            "projected_assists": 0,
            "assist_probability": 0.1907,
            "finishing_factor": 0.8612,
            "creation_factor": 0.8519,
            "fifa_overall": 89.0
          },
          "latest_10_games": [
            {
              "match_id": 16421082,
              "match_date": "2026-10-24",
              "home_team": "Atlético Madrid",
              "away_team": "Deportivo de A Coruña",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 8.2,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.0286,
                "expected_assists": 0.6668,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 43,
                "accurate_pass": 41,
                "key_pass": 1,
                "tackles": 4,
                "tackles_won": 3,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 0,
                "duels_won": 4,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421071,
              "match_date": "2026-10-17",
              "home_team": "Espanyol",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 45,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0644,
                "total_shots": 0,
                "total_pass": 18,
                "accurate_pass": 15,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo Alavés",
              "stats": {
                "minutes": 90,
                "rating": 8.2,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1707,
                "expected_assists": 0.2518,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 62,
                "accurate_pass": 56,
                "key_pass": 5,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 2,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416339,
              "match_date": "2026-09-20",
              "home_team": "Atlético Madrid",
              "away_team": "Real Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.8458,
                "expected_assists": 0.0237,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 47,
                "accurate_pass": 42,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416335,
              "match_date": "2026-09-16",
              "home_team": "Atlético Madrid",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 85,
                "rating": 8.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3081,
                "expected_assists": 0.2421,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 54,
                "accurate_pass": 49,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 7,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416332,
              "match_date": "2026-09-13",
              "home_team": "Real Sociedad",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.8419,
                "expected_assists": 0.0527,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 47,
                "accurate_pass": 33,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416317,
              "match_date": "2026-09-05",
              "home_team": "Athletic Club",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0107,
                "expected_assists": 0.0749,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 56,
                "accurate_pass": 49,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 4,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0902,
                "expected_assists": 0.012,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 35,
                "accurate_pass": 28,
                "tackles": 2,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416302,
              "match_date": "2026-08-23",
              "home_team": "Atlético Madrid",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0172,
                "expected_assists": 0.06,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 48,
                "accurate_pass": 42,
                "tackles": 5,
                "tackles_won": 3,
                "interceptions": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 8,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 20,
            "combined_rank_score": 22.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 30.0,
            "sofascore_rating": 8.0,
            "sofascore_appearances": 1.0,
            "fifa_rank": 15.0,
            "fifa_overall": 89.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 7.0417,
            "source_file": "data/player_rankings.csv",
            "player_name": "Alejandro Grimaldo",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Gabriel",
                  "ranking": 15
                },
                {
                  "player_name": "Cesinha",
                  "ranking": 16
                },
                {
                  "player_name": "James Rodríguez",
                  "ranking": 17
                },
                {
                  "player_name": "Memphis Depay",
                  "ranking": 18
                },
                {
                  "player_name": "Gustavo Henrique",
                  "ranking": 19
                }
              ],
              "lower": [
                {
                  "player_name": "Marc Bartra",
                  "ranking": 21
                },
                {
                  "player_name": "Khvicha Kvaratskhelia",
                  "ranking": 22
                },
                {
                  "player_name": "Danijel Petković",
                  "ranking": 23
                },
                {
                  "player_name": "Angel Fortuno",
                  "ranking": 24
                },
                {
                  "player_name": "Hyun-woo Cho",
                  "ranking": 25
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 9,
          "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",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "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",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 9,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 1.0129,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (M_service) evaluated 9 historical appearances across 8 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 1.487,
                "expected_assists": 0.1473,
                "assists": 0.1181,
                "assist_rate": 0.1181,
                "expected_goals": 0.1781,
                "goals": 0.1471,
                "goal_rate": 0.1471,
                "shots_on_target": 0.6541,
                "total_shots": 1.5773,
                "rating": 7.0417,
                "minutes": 88.69,
                "total_pass": 49.6468,
                "accurate_pass": 43.7168,
                "duels_won": 4.5868,
                "total_long_balls": 3.4175,
                "accurate_long_balls": 1.4165,
                "total_own_half_passes": 18.827,
                "accurate_own_half_passes": 17.6249,
                "total_opp_half_passes": 30.8198,
                "accurate_opp_half_passes": 26.0919,
                "crosses_total": 4.2805,
                "crosses_accurate": 0.842,
                "touches": 74.6968,
                "possession_lost": 13.508,
                "dispossessed": 0.2343,
                "duels_lost": 3.429,
                "aerial_won": 0.343,
                "aerial_lost": 0.4461,
                "interceptions": 0.9645,
                "tackles_won": 1.6659,
                "tackles": 2.4617,
                "clearances": 1.1166,
                "total_contest": 2.6396,
                "won_contest": 1.3536,
                "challenges_lost": 0.7642,
                "fouls": 0.8736,
                "fouls_drawn": 0.4285,
                "blocks": 0.1439,
                "big_chances_created": 0.4404,
                "big_chances_missed": 0.1727,
                "xgot": 0.2537,
                "ball_carries": 18.3836,
                "total_progression": 61.807,
                "progressive_carries": 2.0986,
                "shots_off_target": 0.9232
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1952,
                    "rating": 8.2
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Espanyol",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.1659,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Deportivo Alavés",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.141,
                    "rating": 8.2
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1199,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Osasuna",
                    "minutes": 85.0,
                    "is_starting": true,
                    "weight": 0.1019,
                    "rating": 8.0
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Real Sociedad",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0866,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0736,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Sevilla",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0626,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-23",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0532,
                    "rating": 6.6
                  }
                ],
                "feature_row": {
                  "history_matches": 9.0,
                  "is_starting_11": 1.0,
                  "totalShots": 1.4871,
                  "creative_index": 0.6735,
                  "expectedGoals": 0.2427,
                  "expectedAssists": 0.2179,
                  "totalOppositionHalfPasses": 26.8921
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 1.486987590789795,
                    "model_output": 1.487,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "creative_index",
                          "contribution": 0.1268
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1287
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.1026
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.107
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0544
                        }
                      ],
                      "others": 0.186,
                      "total": 1.487,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "creative_index",
                          "margin": 0.133203
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.119134
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.085754
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.08226
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.040947
                        }
                      ],
                      "others_margin": 0.133575
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.14728783071041107,
                    "model_output": 0.1473,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0132
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0122
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0124
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0063
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0054
                        }
                      ],
                      "others": 0.0129,
                      "total": 0.1473,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "expectedAssists",
                          "margin": 0.14429
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.117551
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.106678
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.050058
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.040824
                        }
                      ],
                      "others_margin": 0.091012
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.11814956367015839,
                    "model_output": 0.1181,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": 0.0089
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0092
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0068
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": 0.0065
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0067
                        }
                      ],
                      "others": 0.0086,
                      "total": 0.1181,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": 0.099225
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.093258
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.06798
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": 0.065434
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.06285
                        }
                      ],
                      "others_margin": 0.076245
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.17812222242355347,
                    "model_output": 0.1781,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "expectedGoals",
                          "contribution": 0.061
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0185
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0203
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0116
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0099
                        }
                      ],
                      "others": -0.0114,
                      "total": 0.1781,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "expectedGoals",
                          "margin": 0.511243
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.114651
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.11214
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.062442
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.053495
                        }
                      ],
                      "others_margin": -0.062192
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.14705398678779602,
                    "model_output": 0.1471,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0322
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0245
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.014
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0137
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0125
                        }
                      ],
                      "others": -0.0198,
                      "total": 0.1471,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.291634
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.176455
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.088001
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.079286
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.072464
                        }
                      ],
                      "others_margin": -0.125836
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.6540874242782593,
                    "model_output": 0.6541,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0997
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.1005
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0717
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0364
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0309
                        }
                      ],
                      "others": 0.0694,
                      "total": 0.6541,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.272518
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.215504
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.129593
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.063613
                        },
                        {
                          "name": "goals",
                          "margin": 0.054337
                        }
                      ],
                      "others_margin": 0.111918
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.5773308277130127,
                    "model_output": 1.5773,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.3078
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1661
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.1221
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0949
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0528
                        }
                      ],
                      "others": -0.1505,
                      "total": 1.5773,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.307831
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.166105
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.122103
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.094855
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.052828
                        }
                      ],
                      "others_margin": -0.150501
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.04166316986084,
                    "model_output": 7.0417,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": 0.0787
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0738
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0247
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0217
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0151
                        }
                      ],
                      "others": 0.0027,
                      "total": 7.0417,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": 0.07871
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.07378
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.024737
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.021707
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.015135
                        }
                      ],
                      "others_margin": 0.002669
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 9,
                  "role_matches": 8,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0129, quality 0.625)",
              "stats": {
                "key_pass": 1.5062,
                "expected_assists": 0.1492,
                "assists": 0.1197,
                "assist_rate": 0.1197,
                "expected_goals": 0.1804,
                "goals": 0.149,
                "goal_rate": 0.149,
                "shots_on_target": 0.6625,
                "total_shots": 1.5977,
                "rating": 7.0417,
                "minutes": 88.69,
                "total_pass": 50.2872,
                "accurate_pass": 44.2807,
                "duels_won": 4.646,
                "total_long_balls": 3.4616,
                "accurate_long_balls": 1.4348,
                "total_own_half_passes": 19.0699,
                "accurate_own_half_passes": 17.8523,
                "total_opp_half_passes": 31.2174,
                "accurate_opp_half_passes": 26.4285,
                "crosses_total": 4.3357,
                "crosses_accurate": 0.8529,
                "touches": 75.6604,
                "possession_lost": 13.6823,
                "dispossessed": 0.2373,
                "duels_lost": 3.4732,
                "aerial_won": 0.3474,
                "aerial_lost": 0.4519,
                "interceptions": 0.9769,
                "tackles_won": 1.6874,
                "tackles": 2.4935,
                "clearances": 1.131,
                "total_contest": 2.6737,
                "won_contest": 1.3711,
                "challenges_lost": 0.7741,
                "fouls": 0.8849,
                "fouls_drawn": 0.434,
                "blocks": 0.1458,
                "big_chances_created": 0.4461,
                "big_chances_missed": 0.1749,
                "xgot": 0.257,
                "ball_carries": 18.6207,
                "total_progression": 62.6043,
                "progressive_carries": 2.1257,
                "shots_off_target": 0.9351
              },
              "params": {
                "market_value_eur": 19400000,
                "quality_factor": 0.6251,
                "boost_factor": 1.0129,
                "reference_quality": 0.505,
                "history_matches": 9,
                "history_shrink": 0.3571,
                "market_value_known": true
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1.5062,
                "expected_assists": 0.1492,
                "assists": 0.1197,
                "assist_rate": 0.1197,
                "expected_goals": 0.1804,
                "goals": 0.149,
                "goal_rate": 0.149,
                "shots_on_target": 0.6625,
                "total_shots": 1.5977,
                "rating": 7.0417,
                "minutes": 88.69,
                "total_pass": 50.2872,
                "accurate_pass": 44.2807,
                "duels_won": 4.646,
                "total_long_balls": 3.4616,
                "accurate_long_balls": 1.4348,
                "total_own_half_passes": 19.0699,
                "accurate_own_half_passes": 17.8523,
                "total_opp_half_passes": 31.2174,
                "accurate_opp_half_passes": 26.4285,
                "crosses_total": 4.3357,
                "crosses_accurate": 0.8529,
                "touches": 75.6604,
                "possession_lost": 13.6823,
                "dispossessed": 0.2373,
                "duels_lost": 3.4732,
                "aerial_won": 0.3474,
                "aerial_lost": 0.4519,
                "interceptions": 0.9769,
                "tackles_won": 1.6874,
                "tackles": 2.4935,
                "clearances": 1.131,
                "total_contest": 2.6737,
                "won_contest": 1.3711,
                "challenges_lost": 0.7741,
                "fouls": 0.8849,
                "fouls_drawn": 0.434,
                "blocks": 0.1458,
                "big_chances_created": 0.4461,
                "big_chances_missed": 0.1749,
                "xgot": 0.257,
                "ball_carries": 18.6207,
                "total_progression": 62.6043,
                "progressive_carries": 2.1257,
                "shots_off_target": 0.9351
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1.5062,
                "expected_assists": 0.1492,
                "assists": 0.1197,
                "assist_rate": 0.1197,
                "expected_goals": 0.1985,
                "goals": 0.164,
                "goal_rate": 0.164,
                "shots_on_target": 0.7291,
                "total_shots": 1.7584,
                "rating": 7.0417,
                "minutes": 88.69,
                "total_pass": 50.2872,
                "accurate_pass": 44.2807,
                "duels_won": 4.646,
                "total_long_balls": 3.4616,
                "accurate_long_balls": 1.4348,
                "total_own_half_passes": 19.0699,
                "accurate_own_half_passes": 17.8523,
                "total_opp_half_passes": 31.2174,
                "accurate_opp_half_passes": 26.4285,
                "crosses_total": 4.3357,
                "crosses_accurate": 0.8529,
                "touches": 75.6604,
                "possession_lost": 13.6823,
                "dispossessed": 0.2373,
                "duels_lost": 3.4732,
                "aerial_won": 0.8,
                "aerial_lost": 0.4519,
                "interceptions": 0.9769,
                "tackles_won": 1.6874,
                "tackles": 2.4935,
                "clearances": 1.131,
                "total_contest": 2.6737,
                "won_contest": 1.3711,
                "challenges_lost": 0.7741,
                "fouls": 0.8849,
                "fouls_drawn": 0.434,
                "blocks": 0.1458,
                "big_chances_created": 0.4461,
                "big_chances_missed": 0.1925,
                "xgot": 0.2829,
                "ball_carries": 18.6207,
                "total_progression": 62.6043,
                "progressive_carries": 2.1257,
                "shots_off_target": 1.0292,
                "duel_xg_multiplier": 1.1006,
                "dribbles_attempted": 4.0,
                "dribbles_successful": 1.9,
                "crosses_attempted": 2.2,
                "duel_win_rate": 0.548,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Nacho Pérez",
                "opponent_faced": "Nacho Pérez",
                "antagonist_source": "attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Nacho Pérez",
                  "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                  "duel_win_rate": 0.548,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 1.1006,
                  "skill_edge": 0.0845,
                  "height_edge": -0.016,
                  "attacker_skill": 0.6251,
                  "defender_skill": 0.4374,
                  "attacker_role": "LW",
                  "attacker_mv_price_index": 1.0,
                  "defender_adjusted_parts": [
                    {
                      "player": "Nacho Pérez",
                      "market_value": 1600000,
                      "role": "RB",
                      "price_index": 0.7,
                      "adjusted_quality": 0.4374
                    }
                  ],
                  "xg_override": 0.1985
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 0.3474,
                  "after": 0.8
                },
                {
                  "stat": "totalShots",
                  "before": 1.5977,
                  "after": 1.7584
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.9351,
                  "after": 1.0292
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.6625,
                  "after": 0.7291
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.257,
                  "after": 0.2829
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.1804,
                  "after": 0.1985
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.1749,
                  "after": 0.1925
                },
                {
                  "stat": "goals",
                  "before": 0.149,
                  "after": 0.164
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 1.5062,
                "expected_assists": 0.1492,
                "assist_rate": 0.1197,
                "assists": 0,
                "expected_goals": 0.1985,
                "goal_rate": 0.164,
                "goals": 0,
                "shots_on_target": 0.7291,
                "total_shots": 1.7584,
                "rating": 7.0417,
                "minutes": 88.69,
                "total_pass": 50.2872,
                "accurate_pass": 44.2807,
                "duels_won": 4.646,
                "total_long_balls": 3.4616,
                "accurate_long_balls": 1.4348,
                "total_own_half_passes": 19.0699,
                "accurate_own_half_passes": 17.8523,
                "total_opp_half_passes": 31.2174,
                "accurate_opp_half_passes": 26.4285,
                "crosses_total": 4.3357,
                "crosses_accurate": 0.8529,
                "touches": 75.6604,
                "possession_lost": 13.6823,
                "dispossessed": 0.2373,
                "duels_lost": 3.4732,
                "aerial_won": 0.8,
                "aerial_lost": 0.4519,
                "interceptions": 0.9769,
                "tackles_won": 1.6874,
                "tackles": 2.4935,
                "clearances": 1.131,
                "total_contest": 2.6737,
                "won_contest": 1.3711,
                "challenges_lost": 0.7741,
                "fouls": 0.8849,
                "fouls_drawn": 0.434,
                "blocks": 0.1458,
                "big_chances_created": 0.4461,
                "big_chances_missed": 0.1925,
                "xgot": 0.2829,
                "ball_carries": 18.6207,
                "total_progression": 62.6043,
                "progressive_carries": 2.1257,
                "shots_off_target": 1.0292,
                "duel_xg_multiplier": 1.1006,
                "dribbles_attempted": 4.0,
                "dribbles_successful": 1.9,
                "crosses_attempted": 2.2,
                "duel_win_rate": 0.548,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Nacho Pérez",
                "opponent_faced": "Nacho Pérez",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 2.27 (squad xG sum 1.5979, xG scale 1.4181, xA scale 1.4181, team xA 1.65 = 0.73 x lambda)",
              "stats": {
                "key_pass": 1.5062,
                "expected_assists": 0.2116,
                "assist_rate": 0.1197,
                "assists": 0,
                "expected_goals": 0.2815,
                "goal_rate": 0.164,
                "goals": 0,
                "shots_on_target": 0.7291,
                "total_shots": 1.7584,
                "rating": 7.0417,
                "minutes": 88.69,
                "total_pass": 50.2872,
                "accurate_pass": 44.2807,
                "duels_won": 4.646,
                "total_long_balls": 3.4616,
                "accurate_long_balls": 1.4348,
                "total_own_half_passes": 19.0699,
                "accurate_own_half_passes": 17.8523,
                "total_opp_half_passes": 31.2174,
                "accurate_opp_half_passes": 26.4285,
                "crosses_total": 4.3357,
                "crosses_accurate": 0.8529,
                "touches": 75.6604,
                "possession_lost": 13.6823,
                "dispossessed": 0.2373,
                "duels_lost": 3.4732,
                "aerial_won": 0.8,
                "aerial_lost": 0.4519,
                "interceptions": 0.9769,
                "tackles_won": 1.6874,
                "tackles": 2.4935,
                "clearances": 1.131,
                "total_contest": 2.6737,
                "won_contest": 1.3711,
                "challenges_lost": 0.7741,
                "fouls": 0.8849,
                "fouls_drawn": 0.434,
                "blocks": 0.1458,
                "big_chances_created": 0.4461,
                "big_chances_missed": 0.1925,
                "xgot": 0.4012,
                "ball_carries": 18.6207,
                "total_progression": 62.6043,
                "progressive_carries": 2.1257,
                "shots_off_target": 1.0292,
                "duel_xg_multiplier": 1.1006,
                "dribbles_attempted": 4.0,
                "dribbles_successful": 1.9,
                "crosses_attempted": 2.2,
                "duel_win_rate": 0.548,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Nacho Pérez",
                "opponent_faced": "Nacho Pérez",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8612,
                "creation_factor": 0.8519
              },
              "params": {
                "team_lambda": 2.266,
                "squad_xg_sum": 1.5979,
                "squad_xa_sum": 1.1609,
                "team_expected_assists": 1.6463,
                "team_xa_to_xg_ratio": 0.7265,
                "bench_appearance_weighted": true,
                "xg_scale": 1.4181,
                "xa_scale": 1.4181,
                "opponent_lambda": 1.191,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.1985,
                  "after": 0.2815
                },
                {
                  "stat": "expected_assists",
                  "before": 0.1492,
                  "after": 0.2116
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 7 by projected rating, fifa_overall 89.0)",
              "stats": {
                "key_pass": 1.5062,
                "expected_assists": 0.2116,
                "assist_rate": 0.1197,
                "assists": 0,
                "expected_goals": 0.2815,
                "goal_rate": 0.164,
                "goals": 0,
                "shots_on_target": 0.7291,
                "total_shots": 1.7584,
                "rating": 7.0417,
                "minutes": 88.69,
                "total_pass": 50.2872,
                "accurate_pass": 44.2807,
                "duels_won": 4.646,
                "total_long_balls": 3.4616,
                "accurate_long_balls": 1.4348,
                "total_own_half_passes": 19.0699,
                "accurate_own_half_passes": 17.8523,
                "total_opp_half_passes": 31.2174,
                "accurate_opp_half_passes": 26.4285,
                "crosses_total": 4.3357,
                "crosses_accurate": 0.8529,
                "touches": 75.6604,
                "possession_lost": 13.6823,
                "dispossessed": 0.2373,
                "duels_lost": 3.4732,
                "aerial_won": 0.8,
                "aerial_lost": 0.4519,
                "interceptions": 0.9769,
                "tackles_won": 1.6874,
                "tackles": 2.4935,
                "clearances": 1.131,
                "total_contest": 2.6737,
                "won_contest": 1.3711,
                "challenges_lost": 0.7741,
                "fouls": 0.8849,
                "fouls_drawn": 0.434,
                "blocks": 0.1458,
                "big_chances_created": 0.4461,
                "big_chances_missed": 0.1925,
                "xgot": 0.4012,
                "ball_carries": 18.6207,
                "total_progression": 62.6043,
                "progressive_carries": 2.1257,
                "shots_off_target": 1.0292,
                "duel_xg_multiplier": 1.1006,
                "dribbles_attempted": 4.0,
                "dribbles_successful": 1.9,
                "crosses_attempted": 2.2,
                "duel_win_rate": 0.548,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Nacho Pérez",
                "opponent_faced": "Nacho Pérez",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8612,
                "creation_factor": 0.8519,
                "fifa_overall": 89.0
              },
              "params": {
                "match_squad_rank": 7,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 20,
                "fifa_rank": 15.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 89.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 1.5062,
                "expected_assists": 0.2116,
                "assist_rate": 0.1197,
                "assists": 0,
                "expected_goals": 0.2815,
                "goal_rate": 0.164,
                "goals": 0,
                "shots_on_target": 0.7291,
                "total_shots": 1.7584,
                "rating": 7.0417,
                "minutes": 88.69,
                "total_pass": 50.2872,
                "accurate_pass": 44.2807,
                "duels_won": 4.646,
                "total_long_balls": 3.4616,
                "accurate_long_balls": 1.4348,
                "total_own_half_passes": 19.0699,
                "accurate_own_half_passes": 17.8523,
                "total_opp_half_passes": 31.2174,
                "accurate_opp_half_passes": 26.4285,
                "crosses_total": 4.3357,
                "crosses_accurate": 0.8529,
                "touches": 75.6604,
                "possession_lost": 13.6823,
                "dispossessed": 0.2373,
                "duels_lost": 3.4732,
                "aerial_won": 0.8,
                "aerial_lost": 0.4519,
                "interceptions": 0.9769,
                "tackles_won": 1.6874,
                "tackles": 2.4935,
                "clearances": 1.131,
                "total_contest": 2.6737,
                "won_contest": 1.3711,
                "challenges_lost": 0.7741,
                "fouls": 0.8849,
                "fouls_drawn": 0.434,
                "blocks": 0.1458,
                "big_chances_created": 0.4461,
                "big_chances_missed": 0.1925,
                "xgot": 0.4012,
                "ball_carries": 18.6207,
                "total_progression": 62.6043,
                "progressive_carries": 2.1257,
                "shots_off_target": 1.0292,
                "duel_xg_multiplier": 1.1006,
                "dribbles_attempted": 4.0,
                "dribbles_successful": 1.9,
                "crosses_attempted": 2.2,
                "duel_win_rate": 0.548,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Nacho Pérez",
                "opponent_faced": "Nacho Pérez",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.2453,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8612,
                "creation_factor": 0.8519,
                "fifa_overall": 89.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.2453,
                "goal_rate": 0.164,
                "scorer_weight": 0.2424,
                "squad_weight_total": 2.4769,
                "weight_share": 0.0979,
                "finishing_factor": 0.8612,
                "appearance_weight": 1.0,
                "weight_rank": 5,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.6971,
                    "already": 0,
                    "effective_weight": 0.6971,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.3346
                  },
                  {
                    "n": 2,
                    "player": "Alex Baena",
                    "weight": 0.3346,
                    "already": 0,
                    "effective_weight": 0.3346,
                    "runner_up": "Kang-in Lee",
                    "runner_up_effective_weight": 0.3062
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 1.5062,
                "expected_assists": 0.2116,
                "assist_rate": 0.1197,
                "assists": 0,
                "expected_goals": 0.2815,
                "goal_rate": 0.164,
                "goals": 0,
                "shots_on_target": 0.7291,
                "total_shots": 1.7584,
                "rating": 7.0417,
                "minutes": 88.69,
                "total_pass": 50.2872,
                "accurate_pass": 44.2807,
                "duels_won": 4.646,
                "total_long_balls": 3.4616,
                "accurate_long_balls": 1.4348,
                "total_own_half_passes": 19.0699,
                "accurate_own_half_passes": 17.8523,
                "total_opp_half_passes": 31.2174,
                "accurate_opp_half_passes": 26.4285,
                "crosses_total": 4.3357,
                "crosses_accurate": 0.8529,
                "touches": 75.6604,
                "possession_lost": 13.6823,
                "dispossessed": 0.2373,
                "duels_lost": 3.4732,
                "aerial_won": 0.8,
                "aerial_lost": 0.4519,
                "interceptions": 0.9769,
                "tackles_won": 1.6874,
                "tackles": 2.4935,
                "clearances": 1.131,
                "total_contest": 2.6737,
                "won_contest": 1.3711,
                "challenges_lost": 0.7741,
                "fouls": 0.8849,
                "fouls_drawn": 0.434,
                "blocks": 0.1458,
                "big_chances_created": 0.4461,
                "big_chances_missed": 0.1925,
                "xgot": 0.4012,
                "ball_carries": 18.6207,
                "total_progression": 62.6043,
                "progressive_carries": 2.1257,
                "shots_off_target": 1.0292,
                "duel_xg_multiplier": 1.1006,
                "dribbles_attempted": 4.0,
                "dribbles_successful": 1.9,
                "crosses_attempted": 2.2,
                "duel_win_rate": 0.548,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Nacho Pérez",
                "opponent_faced": "Nacho Pérez",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.2453,
                "projected_assists": 0,
                "assist_probability": 0.1907,
                "finishing_factor": 0.8612,
                "creation_factor": 0.8519,
                "fifa_overall": 89.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.1907,
                "assist_rate": 0.1197,
                "provider_weight": 0.1803,
                "squad_weight_total": 1.6132,
                "weight_share": 0.1117,
                "creation_factor": 0.8519,
                "appearance_weight": 1.0,
                "weight_rank": 5,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.257,
                    "already": 0,
                    "effective_weight": 0.257,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.2198
                  }
                ]
              }
            }
          ]
        },
        "Dávid Hancko": {
          "player_id": 807771,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 17,
          "height": 188,
          "market_value": 36000000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 5,
            "aerial_won": 2,
            "total_shots": 1,
            "rating": 7.0456,
            "minutes": 88,
            "total_pass": 66,
            "accurate_pass": 60,
            "duels_won": 4,
            "total_long_balls": 6,
            "accurate_long_balls": 3,
            "total_own_half_passes": 40,
            "accurate_own_half_passes": 39,
            "total_opp_half_passes": 25,
            "accurate_opp_half_passes": 21,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 79,
            "possession_lost": 7.5254,
            "dispossessed": 0.1879,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 4,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "assist_rate": 0.1488,
            "assists": 0,
            "expected_goals": 0.0869,
            "expected_assists": 0.063,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0257,
            "ball_carries": 19,
            "total_progression": 78,
            "progressive_carries": 1,
            "key_pass": 1,
            "shots_off_target": 1,
            "tackles_in_zone": 1.1,
            "tackles_won_in_zone": 1.0,
            "interceptions_in_zone": 1.2,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.82,
            "opponent_faced": "Iván Romero",
            "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.0832,
            "projected_assists": 0,
            "assist_probability": 0.0611,
            "finishing_factor": 0.8,
            "creation_factor": 1.25,
            "fifa_overall": 83.0
          },
          "latest_10_games": [
            {
              "match_id": 16421082,
              "match_date": "2026-10-24",
              "home_team": "Atlético Madrid",
              "away_team": "Deportivo de A Coruña",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.033,
                "expected_assists": 0.0119,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 70,
                "accurate_pass": 67,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 3,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421071,
              "match_date": "2026-10-17",
              "home_team": "Espanyol",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0477,
                "expected_assists": 0.0074,
                "total_shots": 2,
                "total_pass": 76,
                "accurate_pass": 70,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 5,
                "aerial_won": 4,
                "duels_won": 6,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Deportivo Alavés",
              "stats": {
                "minutes": 28,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.182,
                "expected_assists": 0.016,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 36,
                "accurate_pass": 34,
                "clearances": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416339,
              "match_date": "2026-09-20",
              "home_team": "Atlético Madrid",
              "away_team": "Real Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2788,
                "expected_assists": 0.1352,
                "total_shots": 4,
                "shots_on_target": 1,
                "total_pass": 67,
                "accurate_pass": 59,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416335,
              "match_date": "2026-09-16",
              "home_team": "Atlético Madrid",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 9,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0019,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 7,
                "interceptions": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416332,
              "match_date": "2026-09-13",
              "home_team": "Real Sociedad",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.0181,
                "expected_assists": 0.0061,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 53,
                "accurate_pass": 45,
                "key_pass": 1,
                "tackles": 1,
                "clearances": 3,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416317,
              "match_date": "2026-09-05",
              "home_team": "Athletic Club",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0224,
                "total_shots": 0,
                "total_pass": 72,
                "accurate_pass": 65,
                "interceptions": 2,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0148,
                "total_shots": 0,
                "total_pass": 72,
                "accurate_pass": 62,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 11,
                "aerial_won": 4,
                "duels_won": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416302,
              "match_date": "2026-08-23",
              "home_team": "Atlético Madrid",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0399,
                "total_shots": 0,
                "total_pass": 69,
                "accurate_pass": 62,
                "interceptions": 2,
                "clearances": 1,
                "duels_won": 3,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421055,
              "match_date": "2026-08-19",
              "home_team": "Atlético Madrid",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 8.7,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.0688,
                "expected_assists": 0.2126,
                "total_shots": 3,
                "shots_off_target": 2,
                "total_pass": 95,
                "accurate_pass": 91,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 2,
                "clearances": 2,
                "aerial_won": 2,
                "duels_won": 7,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 208,
            "combined_rank_score": 158.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 6.0,
            "sofascore_rating": 8.7,
            "sofascore_appearances": 1.0,
            "fifa_rank": 311.0,
            "fifa_overall": 83.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 7.0456,
            "source_file": "data/player_rankings.csv",
            "player_name": "Dávid Hancko",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Emil Tîmbur",
                  "ranking": 203
                },
                {
                  "player_name": "Matvii Ponomarenko",
                  "ranking": 204
                },
                {
                  "player_name": "Kim In-sung",
                  "ranking": 205
                },
                {
                  "player_name": "Marco Carnesecchi",
                  "ranking": 206
                },
                {
                  "player_name": "Abdessamad Ezzalzouli",
                  "ranking": 207
                }
              ],
              "lower": [
                {
                  "player_name": "Dae-han Park",
                  "ranking": 209
                },
                {
                  "player_name": "Vladimir Jovović",
                  "ranking": 210
                },
                {
                  "player_name": "Kenan Yıldız",
                  "ranking": 211
                },
                {
                  "player_name": "Ruslanbek Jiyanov",
                  "ranking": 212
                },
                {
                  "player_name": "Jovan Đokić",
                  "ranking": 213
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.78,
          "history_matches": 40,
          "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",
              "totalTackle",
              "totalShots",
              "rating",
              "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",
              "totalShots",
              "rating"
            ],
            "history_matches": 40,
            "data_confidence": 0.78,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0084,
            "fbref_prior_metrics": {
              "squad": "Atlético Madrid",
              "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": 1.0,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.2
            },
            "rationale": "XGBoost regressor (D_service) evaluated 40 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Atlético Madrid, rel: 0.20, gls/90: 0.0, ast/90: 0.3333333333333333)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.9474,
                "tackles": 1.336,
                "tackles_won": 0.815,
                "clearances": 4.5182,
                "aerial_won": 1.5058,
                "total_shots": 0.792,
                "rating": 7.0456,
                "minutes": 88.23,
                "total_pass": 65.2678,
                "accurate_pass": 59.2229,
                "duels_won": 3.86,
                "total_long_balls": 6.2459,
                "accurate_long_balls": 3.2308,
                "total_own_half_passes": 40.0595,
                "accurate_own_half_passes": 38.3477,
                "total_opp_half_passes": 25.2084,
                "accurate_opp_half_passes": 20.8753,
                "crosses_total": 0.2179,
                "crosses_accurate": 0.0136,
                "touches": 78.1476,
                "possession_lost": 7.4627,
                "dispossessed": 0.1863,
                "duels_lost": 1.8805,
                "aerial_lost": 0.8717,
                "total_contest": 0.5435,
                "won_contest": 0.4939,
                "ball_recovery": 3.622,
                "challenges_lost": 0.6308,
                "fouls": 0.1575,
                "fouls_drawn": 0.1807,
                "blocks": 0.9582,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.145,
                "assist_rate": 0.145,
                "expected_goals": 0.0608,
                "expected_assists": 0.044,
                "shots_on_target": 0.1453,
                "big_chances_created": 0.2153,
                "xgot": 0.0179,
                "ball_carries": 18.7349,
                "total_progression": 77.6367,
                "progressive_carries": 1.3268,
                "key_pass": 0.5801,
                "shots_off_target": 0.6467
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1502,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1277,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Deportivo Alavés",
                    "minutes": 28.0,
                    "is_starting": false,
                    "weight": 0.1085,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0923,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Osasuna",
                    "minutes": 9.0,
                    "is_starting": false,
                    "weight": 0.0784,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Real Sociedad",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0667,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0567,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Sevilla",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0482,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-08-23",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-19",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 8.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 3.7511,
                  "aerialWon": 1.3363,
                  "totalClearance_p90": 4.5429,
                  "totalTackle": 1.3794,
                  "totalPass": 58.0061
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.9473531246185303,
                    "model_output": 0.9474,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1128
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0313
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0198
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": 0.0165
                        },
                        {
                          "name": "tackle_success_rate",
                          "contribution": -0.0103
                        }
                      ],
                      "others": 0.011,
                      "total": 0.9474,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.122143
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.032388
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.021065
                        },
                        {
                          "name": "interceptionWon_p90",
                          "margin": 0.017628
                        },
                        {
                          "name": "tackle_success_rate",
                          "margin": -0.010966
                        }
                      ],
                      "others_margin": 0.011533
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.3360464572906494,
                    "model_output": 1.336,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1712
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0435
                        },
                        {
                          "name": "totalTackle",
                          "contribution": -0.0288
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0252
                        },
                        {
                          "name": "dispossessed",
                          "contribution": -0.0242
                        }
                      ],
                      "others": -0.0992,
                      "total": 1.336,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.11651
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.028357
                        },
                        {
                          "name": "totalTackle",
                          "margin": -0.019184
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.017124
                        },
                        {
                          "name": "dispossessed",
                          "margin": -0.016698
                        }
                      ],
                      "others_margin": -0.071618
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.8150310516357422,
                    "model_output": 0.815,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.105
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0334
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0255
                        },
                        {
                          "name": "totalTackle",
                          "contribution": -0.0238
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0179
                        }
                      ],
                      "others": -0.0351,
                      "total": 0.815,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.117037
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.035746
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.028198
                        },
                        {
                          "name": "totalTackle",
                          "margin": -0.027074
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.020819
                        }
                      ],
                      "others_margin": -0.042144
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 4.518193244934082,
                    "model_output": 4.5182,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4302
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.2327
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.2233
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.1954
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.1361
                        }
                      ],
                      "others": -0.1312,
                      "total": 4.5182,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.118092
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.058503
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.053103
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.044269
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.029712
                        }
                      ],
                      "others_margin": -0.02863
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.5057644844055176,
                    "model_output": 1.5058,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1505
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0979
                        },
                        {
                          "name": "aerialLost",
                          "contribution": -0.0807
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0509
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0479
                        }
                      ],
                      "others": 0.0575,
                      "total": 1.5058,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.10369
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.066237
                        },
                        {
                          "name": "aerialLost",
                          "margin": -0.058115
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": 0.037047
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.033626
                        }
                      ],
                      "others_margin": 0.038931
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.7920188903808594,
                    "model_output": 0.792,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.2511
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0502
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.027
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0255
                        },
                        {
                          "name": "history_matches",
                          "contribution": 0.0235
                        }
                      ],
                      "others": -0.0098,
                      "total": 0.792,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.251127
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.050167
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.026973
                        },
                        {
                          "name": "rating",
                          "margin": 0.025541
                        },
                        {
                          "name": "history_matches",
                          "margin": 0.023472
                        }
                      ],
                      "others_margin": -0.009854
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.045648574829102,
                    "model_output": 7.0456,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "totalPass",
                          "contribution": 0.0601
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0513
                        },
                        {
                          "name": "rating",
                          "contribution": 0.042
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.036
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0217
                        }
                      ],
                      "others": 0.039,
                      "total": 7.0456,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "totalPass",
                          "margin": 0.060065
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.05131
                        },
                        {
                          "name": "rating",
                          "margin": 0.042049
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.036005
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.02172
                        }
                      ],
                      "others_margin": 0.038985
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 40,
                  "role_matches": 35,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0084, quality 0.758)",
              "stats": {
                "interceptions": 0.9553,
                "tackles": 1.3473,
                "tackles_won": 0.8219,
                "clearances": 4.5561,
                "aerial_won": 1.5184,
                "total_shots": 0.7987,
                "rating": 7.0456,
                "minutes": 88.23,
                "total_pass": 65.816,
                "accurate_pass": 59.7204,
                "duels_won": 3.8924,
                "total_long_balls": 6.2984,
                "accurate_long_balls": 3.2579,
                "total_own_half_passes": 40.396,
                "accurate_own_half_passes": 38.6698,
                "total_opp_half_passes": 25.4202,
                "accurate_opp_half_passes": 21.0507,
                "crosses_total": 0.2197,
                "crosses_accurate": 0.0137,
                "touches": 78.804,
                "possession_lost": 7.5254,
                "dispossessed": 0.1879,
                "duels_lost": 1.8963,
                "aerial_lost": 0.879,
                "total_contest": 0.5481,
                "won_contest": 0.498,
                "ball_recovery": 3.6524,
                "challenges_lost": 0.6361,
                "fouls": 0.1588,
                "fouls_drawn": 0.1822,
                "blocks": 0.9662,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.1462,
                "assist_rate": 0.1462,
                "expected_goals": 0.0613,
                "expected_assists": 0.0444,
                "shots_on_target": 0.1465,
                "big_chances_created": 0.2171,
                "xgot": 0.0181,
                "ball_carries": 18.8923,
                "total_progression": 78.2888,
                "progressive_carries": 1.3379,
                "key_pass": 0.585,
                "shots_off_target": 0.6521
              },
              "params": {
                "market_value_eur": 36000000,
                "quality_factor": 0.7581,
                "boost_factor": 1.0084,
                "reference_quality": 0.505,
                "history_matches": 40,
                "history_shrink": 0.1111,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0144)",
              "stats": {
                "interceptions": 0.9698,
                "tackles": 1.3473,
                "tackles_won": 0.8289,
                "clearances": 4.5561,
                "aerial_won": 1.5184,
                "total_shots": 0.8013,
                "rating": 7.0456,
                "minutes": 88.23,
                "total_pass": 65.816,
                "accurate_pass": 59.7204,
                "duels_won": 3.8924,
                "total_long_balls": 6.2984,
                "accurate_long_balls": 3.2579,
                "total_own_half_passes": 40.396,
                "accurate_own_half_passes": 38.6698,
                "total_opp_half_passes": 25.4202,
                "accurate_opp_half_passes": 21.0507,
                "crosses_total": 0.2212,
                "crosses_accurate": 0.0137,
                "touches": 78.804,
                "possession_lost": 7.5254,
                "dispossessed": 0.1879,
                "duels_lost": 1.8963,
                "aerial_lost": 0.879,
                "total_contest": 0.5481,
                "won_contest": 0.498,
                "ball_recovery": 3.6524,
                "challenges_lost": 0.6361,
                "fouls": 0.1612,
                "fouls_drawn": 0.1937,
                "blocks": 0.9662,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.1488,
                "assist_rate": 0.1488,
                "expected_goals": 0.0613,
                "expected_assists": 0.0444,
                "shots_on_target": 0.1444,
                "big_chances_created": 0.2171,
                "xgot": 0.0181,
                "ball_carries": 18.8923,
                "total_progression": 78.2888,
                "progressive_carries": 1.3379,
                "key_pass": 0.585,
                "shots_off_target": 0.6521
              },
              "params": {
                "blend_weight": 0.0144,
                "history_matches": 40,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9803,
                "prior_reliability": 0.2,
                "competition": "La Liga",
                "squad": "Atlético Madrid"
              },
              "changes": [
                {
                  "stat": "interceptionWon",
                  "before": 0.9553,
                  "after": 0.9698
                },
                {
                  "stat": "wasFouled",
                  "before": 0.1822,
                  "after": 0.1937
                },
                {
                  "stat": "wonTackle",
                  "before": 0.8219,
                  "after": 0.8289
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.9698,
                "tackles": 1.3473,
                "tackles_won": 0.8289,
                "clearances": 4.5561,
                "aerial_won": 1.5184,
                "total_shots": 0.8013,
                "rating": 7.0456,
                "minutes": 88.23,
                "total_pass": 65.816,
                "accurate_pass": 59.7204,
                "duels_won": 3.8924,
                "total_long_balls": 6.2984,
                "accurate_long_balls": 3.2579,
                "total_own_half_passes": 40.396,
                "accurate_own_half_passes": 38.6698,
                "total_opp_half_passes": 25.4202,
                "accurate_opp_half_passes": 21.0507,
                "crosses_total": 0.2212,
                "crosses_accurate": 0.0137,
                "touches": 78.804,
                "possession_lost": 7.5254,
                "dispossessed": 0.1879,
                "duels_lost": 1.8963,
                "aerial_lost": 0.879,
                "total_contest": 0.5481,
                "won_contest": 0.498,
                "ball_recovery": 3.6524,
                "challenges_lost": 0.6361,
                "fouls": 0.1612,
                "fouls_drawn": 0.1937,
                "blocks": 0.9662,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.1488,
                "assist_rate": 0.1488,
                "expected_goals": 0.0613,
                "expected_assists": 0.0444,
                "shots_on_target": 0.1444,
                "big_chances_created": 0.2171,
                "xgot": 0.0181,
                "ball_carries": 18.8923,
                "total_progression": 78.2888,
                "progressive_carries": 1.3379,
                "key_pass": 0.585,
                "shots_off_target": 0.6521
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 0.9698,
                "tackles": 1.3473,
                "tackles_won": 0.8289,
                "clearances": 4.5561,
                "aerial_won": 1.5184,
                "total_shots": 0.8013,
                "rating": 7.0456,
                "minutes": 88.23,
                "total_pass": 65.816,
                "accurate_pass": 59.7204,
                "duels_won": 3.8924,
                "total_long_balls": 6.2984,
                "accurate_long_balls": 3.2579,
                "total_own_half_passes": 40.396,
                "accurate_own_half_passes": 38.6698,
                "total_opp_half_passes": 25.4202,
                "accurate_opp_half_passes": 21.0507,
                "crosses_total": 0.2212,
                "crosses_accurate": 0.0137,
                "touches": 78.804,
                "possession_lost": 7.5254,
                "dispossessed": 0.1879,
                "duels_lost": 1.8963,
                "aerial_lost": 0.879,
                "total_contest": 0.5481,
                "won_contest": 0.498,
                "ball_recovery": 3.6524,
                "challenges_lost": 0.6361,
                "fouls": 0.1612,
                "fouls_drawn": 0.1937,
                "blocks": 0.9662,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.1488,
                "assist_rate": 0.1488,
                "expected_goals": 0.0613,
                "expected_assists": 0.0444,
                "shots_on_target": 0.1444,
                "big_chances_created": 0.2171,
                "xgot": 0.0181,
                "ball_carries": 18.8923,
                "total_progression": 78.2888,
                "progressive_carries": 1.3379,
                "key_pass": 0.585,
                "shots_off_target": 0.6521,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Iván Romero",
                "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"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Iván Romero",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle"
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "interceptions": 0.9698,
                "tackles": 1.3473,
                "tackles_won": 0.8289,
                "clearances": 4.5561,
                "aerial_won": 1.5184,
                "total_shots": 0.8013,
                "rating": 7.0456,
                "minutes": 88.23,
                "total_pass": 65.816,
                "accurate_pass": 59.7204,
                "duels_won": 3.8924,
                "total_long_balls": 6.2984,
                "accurate_long_balls": 3.2579,
                "total_own_half_passes": 40.396,
                "accurate_own_half_passes": 38.6698,
                "total_opp_half_passes": 25.4202,
                "accurate_opp_half_passes": 21.0507,
                "crosses_total": 0.2212,
                "crosses_accurate": 0.0137,
                "touches": 78.804,
                "possession_lost": 7.5254,
                "dispossessed": 0.1879,
                "duels_lost": 1.8963,
                "aerial_lost": 0.879,
                "total_contest": 0.5481,
                "won_contest": 0.498,
                "ball_recovery": 3.6524,
                "challenges_lost": 0.6361,
                "fouls": 0.1612,
                "fouls_drawn": 0.1937,
                "blocks": 0.9662,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.1488,
                "assists": 0,
                "expected_goals": 0.0613,
                "expected_assists": 0.0444,
                "shots_on_target": 0.1444,
                "big_chances_created": 0.2171,
                "xgot": 0.0181,
                "ball_carries": 18.8923,
                "total_progression": 78.2888,
                "progressive_carries": 1.3379,
                "key_pass": 0.585,
                "shots_off_target": 0.6521,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Iván Romero",
                "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
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 2.27 (squad xG sum 1.5979, xG scale 1.4181, xA scale 1.4181, team xA 1.65 = 0.73 x lambda)",
              "stats": {
                "interceptions": 0.9698,
                "tackles": 1.3473,
                "tackles_won": 0.8289,
                "clearances": 4.5561,
                "aerial_won": 1.5184,
                "total_shots": 0.8013,
                "rating": 7.0456,
                "minutes": 88.23,
                "total_pass": 65.816,
                "accurate_pass": 59.7204,
                "duels_won": 3.8924,
                "total_long_balls": 6.2984,
                "accurate_long_balls": 3.2579,
                "total_own_half_passes": 40.396,
                "accurate_own_half_passes": 38.6698,
                "total_opp_half_passes": 25.4202,
                "accurate_opp_half_passes": 21.0507,
                "crosses_total": 0.2212,
                "crosses_accurate": 0.0137,
                "touches": 78.804,
                "possession_lost": 7.5254,
                "dispossessed": 0.1879,
                "duels_lost": 1.8963,
                "aerial_lost": 0.879,
                "total_contest": 0.5481,
                "won_contest": 0.498,
                "ball_recovery": 3.6524,
                "challenges_lost": 0.6361,
                "fouls": 0.1612,
                "fouls_drawn": 0.1937,
                "blocks": 0.9662,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.1488,
                "assists": 0,
                "expected_goals": 0.0869,
                "expected_assists": 0.063,
                "shots_on_target": 0.1444,
                "big_chances_created": 0.2171,
                "xgot": 0.0257,
                "ball_carries": 18.8923,
                "total_progression": 78.2888,
                "progressive_carries": 1.3379,
                "key_pass": 0.585,
                "shots_off_target": 0.6521,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Iván Romero",
                "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,
                "finishing_factor": 0.8,
                "creation_factor": 1.25
              },
              "params": {
                "team_lambda": 2.266,
                "squad_xg_sum": 1.5979,
                "squad_xa_sum": 1.1609,
                "team_expected_assists": 1.6463,
                "team_xa_to_xg_ratio": 0.7265,
                "bench_appearance_weighted": true,
                "xg_scale": 1.4181,
                "xa_scale": 1.4181,
                "opponent_lambda": 1.191,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0613,
                  "after": 0.0869
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0444,
                  "after": 0.063
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 6 by projected rating, fifa_overall 83.0)",
              "stats": {
                "interceptions": 0.9698,
                "tackles": 1.3473,
                "tackles_won": 0.8289,
                "clearances": 4.5561,
                "aerial_won": 1.5184,
                "total_shots": 0.8013,
                "rating": 7.0456,
                "minutes": 88.23,
                "total_pass": 65.816,
                "accurate_pass": 59.7204,
                "duels_won": 3.8924,
                "total_long_balls": 6.2984,
                "accurate_long_balls": 3.2579,
                "total_own_half_passes": 40.396,
                "accurate_own_half_passes": 38.6698,
                "total_opp_half_passes": 25.4202,
                "accurate_opp_half_passes": 21.0507,
                "crosses_total": 0.2212,
                "crosses_accurate": 0.0137,
                "touches": 78.804,
                "possession_lost": 7.5254,
                "dispossessed": 0.1879,
                "duels_lost": 1.8963,
                "aerial_lost": 0.879,
                "total_contest": 0.5481,
                "won_contest": 0.498,
                "ball_recovery": 3.6524,
                "challenges_lost": 0.6361,
                "fouls": 0.1612,
                "fouls_drawn": 0.1937,
                "blocks": 0.9662,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.1488,
                "assists": 0,
                "expected_goals": 0.0869,
                "expected_assists": 0.063,
                "shots_on_target": 0.1444,
                "big_chances_created": 0.2171,
                "xgot": 0.0257,
                "ball_carries": 18.8923,
                "total_progression": 78.2888,
                "progressive_carries": 1.3379,
                "key_pass": 0.585,
                "shots_off_target": 0.6521,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Iván Romero",
                "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,
                "finishing_factor": 0.8,
                "creation_factor": 1.25,
                "fifa_overall": 83.0
              },
              "params": {
                "match_squad_rank": 6,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 208,
                "fifa_rank": 311.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 83.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 0.9698,
                "tackles": 1.3473,
                "tackles_won": 0.8289,
                "clearances": 4.5561,
                "aerial_won": 1.5184,
                "total_shots": 0.8013,
                "rating": 7.0456,
                "minutes": 88.23,
                "total_pass": 65.816,
                "accurate_pass": 59.7204,
                "duels_won": 3.8924,
                "total_long_balls": 6.2984,
                "accurate_long_balls": 3.2579,
                "total_own_half_passes": 40.396,
                "accurate_own_half_passes": 38.6698,
                "total_opp_half_passes": 25.4202,
                "accurate_opp_half_passes": 21.0507,
                "crosses_total": 0.2212,
                "crosses_accurate": 0.0137,
                "touches": 78.804,
                "possession_lost": 7.5254,
                "dispossessed": 0.1879,
                "duels_lost": 1.8963,
                "aerial_lost": 0.879,
                "total_contest": 0.5481,
                "won_contest": 0.498,
                "ball_recovery": 3.6524,
                "challenges_lost": 0.6361,
                "fouls": 0.1612,
                "fouls_drawn": 0.1937,
                "blocks": 0.9662,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.1488,
                "assists": 0,
                "expected_goals": 0.0869,
                "expected_assists": 0.063,
                "shots_on_target": 0.1444,
                "big_chances_created": 0.2171,
                "xgot": 0.0257,
                "ball_carries": 18.8923,
                "total_progression": 78.2888,
                "progressive_carries": 1.3379,
                "key_pass": 0.585,
                "shots_off_target": 0.6521,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Iván Romero",
                "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.0832,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 1.25,
                "fifa_overall": 83.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0832,
                "goal_rate": 0.0,
                "scorer_weight": 0.0695,
                "squad_weight_total": 2.4769,
                "weight_share": 0.0281,
                "finishing_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 10,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.6971,
                    "already": 0,
                    "effective_weight": 0.6971,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.3346
                  },
                  {
                    "n": 2,
                    "player": "Alex Baena",
                    "weight": 0.3346,
                    "already": 0,
                    "effective_weight": 0.3346,
                    "runner_up": "Kang-in Lee",
                    "runner_up_effective_weight": 0.3062
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 0.9698,
                "tackles": 1.3473,
                "tackles_won": 0.8289,
                "clearances": 4.5561,
                "aerial_won": 1.5184,
                "total_shots": 0.8013,
                "rating": 7.0456,
                "minutes": 88.23,
                "total_pass": 65.816,
                "accurate_pass": 59.7204,
                "duels_won": 3.8924,
                "total_long_balls": 6.2984,
                "accurate_long_balls": 3.2579,
                "total_own_half_passes": 40.396,
                "accurate_own_half_passes": 38.6698,
                "total_opp_half_passes": 25.4202,
                "accurate_opp_half_passes": 21.0507,
                "crosses_total": 0.2212,
                "crosses_accurate": 0.0137,
                "touches": 78.804,
                "possession_lost": 7.5254,
                "dispossessed": 0.1879,
                "duels_lost": 1.8963,
                "aerial_lost": 0.879,
                "total_contest": 0.5481,
                "won_contest": 0.498,
                "ball_recovery": 3.6524,
                "challenges_lost": 0.6361,
                "fouls": 0.1612,
                "fouls_drawn": 0.1937,
                "blocks": 0.9662,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.1488,
                "assists": 0,
                "expected_goals": 0.0869,
                "expected_assists": 0.063,
                "shots_on_target": 0.1444,
                "big_chances_created": 0.2171,
                "xgot": 0.0257,
                "ball_carries": 18.8923,
                "total_progression": 78.2888,
                "progressive_carries": 1.3379,
                "key_pass": 0.585,
                "shots_off_target": 0.6521,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Iván Romero",
                "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.0832,
                "projected_assists": 0,
                "assist_probability": 0.0611,
                "finishing_factor": 0.8,
                "creation_factor": 1.25,
                "fifa_overall": 83.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0611,
                "assist_rate": 0.1488,
                "provider_weight": 0.0788,
                "squad_weight_total": 1.6132,
                "weight_share": 0.0488,
                "creation_factor": 1.25,
                "appearance_weight": 1.0,
                "weight_rank": 8,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.257,
                    "already": 0,
                    "effective_weight": 0.257,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.2198
                  }
                ]
              }
            }
          ]
        },
        "Marc Pubill": {
          "player_id": 1094106,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 18,
          "height": 190,
          "market_value": 48000000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 1,
            "total_shots": 1,
            "rating": 6.8352,
            "minutes": 82,
            "total_pass": 55,
            "accurate_pass": 50,
            "duels_won": 4,
            "total_long_balls": 4,
            "accurate_long_balls": 2,
            "total_own_half_passes": 31,
            "accurate_own_half_passes": 30,
            "total_opp_half_passes": 23,
            "accurate_opp_half_passes": 20,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 69,
            "possession_lost": 7.3111,
            "dispossessed": 0.1992,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 0,
            "goal_rate": 0.1142,
            "goals": 0,
            "assist_rate": 0.007,
            "assists": 0,
            "expected_goals": 0.0763,
            "expected_assists": 0.0285,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.1191,
            "ball_carries": 17,
            "total_progression": 72,
            "progressive_carries": 1,
            "key_pass": 0,
            "shots_off_target": 0,
            "tackles_in_zone": 1.1,
            "tackles_won_in_zone": 1.0,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.82,
            "opponent_faced": "Iván Romero",
            "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.0735,
            "projected_assists": 0,
            "assist_probability": 0.0281,
            "finishing_factor": 1.25,
            "creation_factor": 0.8131,
            "fifa_overall": 87.0
          },
          "latest_10_games": [
            {
              "match_id": 16421082,
              "match_date": "2026-10-24",
              "home_team": "Atlético Madrid",
              "away_team": "Deportivo de A Coruña",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.048,
                "expected_assists": 0.0165,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 72,
                "accurate_pass": 69,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 4,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421071,
              "match_date": "2026-10-17",
              "home_team": "Espanyol",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.022,
                "total_shots": 0,
                "total_pass": 59,
                "accurate_pass": 55,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416339,
              "match_date": "2026-09-20",
              "home_team": "Atlético Madrid",
              "away_team": "Real Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 45,
                "rating": 6.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0282,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 22,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416335,
              "match_date": "2026-09-16",
              "home_team": "Atlético Madrid",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 22,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0012,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 23,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416332,
              "match_date": "2026-09-13",
              "home_team": "Real Sociedad",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0079,
                "total_shots": 0,
                "total_pass": 40,
                "accurate_pass": 36,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416317,
              "match_date": "2026-09-05",
              "home_team": "Athletic Club",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0082,
                "total_shots": 0,
                "total_pass": 83,
                "accurate_pass": 78,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0921,
                "expected_assists": 0.0028,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 57,
                "accurate_pass": 51,
                "clearances": 4,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416302,
              "match_date": "2026-08-23",
              "home_team": "Atlético Madrid",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 66,
                "rating": 8.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0623,
                "expected_assists": 0.0403,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 32,
                "accurate_pass": 28,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083735,
              "match_date": "2026-05-24",
              "home_team": "Villarreal",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 45,
                "rating": 6.6,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.4462,
                "expected_assists": 0.0062,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 42,
                "accurate_pass": 39,
                "tackles": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083661,
              "match_date": "2026-05-17",
              "home_team": "Atlético Madrid",
              "away_team": "Girona FC",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Girona FC",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2044,
                "expected_assists": 0.0044,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 33,
                "accurate_pass": 27,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 4,
                "aerial_won": 4,
                "duels_won": 7,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 153,
            "combined_rank_score": 101.0,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 138.0,
            "sofascore_rating": 7.35,
            "sofascore_appearances": 2.0,
            "fifa_rank": 64.0,
            "fifa_overall": 87.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 13,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 6.8352,
            "source_file": "data/player_rankings.csv",
            "player_name": "Marc Pubill",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Kipras Kazukolovas",
                  "ranking": 148
                },
                {
                  "player_name": "Fabián Mina",
                  "ranking": 149
                },
                {
                  "player_name": "Jonathan Tah",
                  "ranking": 150
                },
                {
                  "player_name": "Kevin Méndez",
                  "ranking": 151
                },
                {
                  "player_name": "Elseid Hysaj",
                  "ranking": 152
                }
              ],
              "lower": [
                {
                  "player_name": "Alex Muralha",
                  "ranking": 154
                },
                {
                  "player_name": "Guilherme Arana",
                  "ranking": 155
                },
                {
                  "player_name": "Will Smallbone",
                  "ranking": 156
                },
                {
                  "player_name": "Do-dam Kim",
                  "ranking": 157
                },
                {
                  "player_name": "Nuno Mendes",
                  "ranking": 158
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.767,
          "history_matches": 27,
          "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",
              "totalTackle",
              "totalShots",
              "rating",
              "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",
              "totalShots",
              "rating"
            ],
            "history_matches": 27,
            "data_confidence": 0.767,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0146,
            "fbref_prior_metrics": {
              "squad": "Atlético Madrid",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 155.0,
              "goals_per90": 0.5882352941176471,
              "assists_per90": 0.0,
              "shots_per90": 1.16,
              "shots_on_target_pct": 50.0,
              "prior_reliability": 0.1133
            },
            "rationale": "XGBoost regressor (D_service) evaluated 27 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Atlético Madrid, rel: 0.11, gls/90: 0.5882352941176471, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.8268,
                "tackles": 1.2643,
                "tackles_won": 0.8108,
                "clearances": 3.0144,
                "aerial_won": 1.185,
                "total_shots": 0.5142,
                "rating": 6.8352,
                "minutes": 81.67,
                "total_pass": 53.9143,
                "accurate_pass": 49.2426,
                "duels_won": 4.0418,
                "total_long_balls": 3.8632,
                "accurate_long_balls": 2.4105,
                "total_own_half_passes": 30.8699,
                "accurate_own_half_passes": 29.3777,
                "total_opp_half_passes": 23.0444,
                "accurate_opp_half_passes": 19.865,
                "crosses_total": 0.6072,
                "crosses_accurate": 0.1794,
                "touches": 67.8821,
                "possession_lost": 7.2059,
                "dispossessed": 0.1963,
                "duels_lost": 2.3791,
                "aerial_lost": 0.8184,
                "total_contest": 0.2876,
                "won_contest": 0.2294,
                "ball_recovery": 3.044,
                "challenges_lost": 0.2334,
                "fouls": 1.0787,
                "fouls_drawn": 0.7738,
                "blocks": 0.3307,
                "goals": 0.1077,
                "goal_rate": 0.1077,
                "assists": 0.007,
                "assist_rate": 0.007,
                "expected_goals": 0.053,
                "expected_assists": 0.0198,
                "shots_on_target": 0.1621,
                "big_chances_created": 0.0071,
                "xgot": 0.0828,
                "ball_carries": 16.384,
                "total_progression": 70.731,
                "progressive_carries": 0.8254,
                "key_pass": 0.1772,
                "shots_off_target": 0.3521
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1519,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1291,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Real Madrid",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.1097,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Osasuna",
                    "minutes": 22.0,
                    "is_starting": false,
                    "weight": 0.0933,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Real Sociedad",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0793,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0674,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Sevilla",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0573,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-23",
                    "opponent": "Villarreal",
                    "minutes": 66.0,
                    "is_starting": true,
                    "weight": 0.0487,
                    "rating": 8.1
                  },
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Villarreal",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.0414,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Girona FC",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0352,
                    "rating": 6.8
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 2.399,
                  "aerialWon": 1.4921,
                  "totalClearance_p90": 2.6345,
                  "totalTackle": 1.0894,
                  "totalPass": 49.8862
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.8268225193023682,
                    "model_output": 0.8268,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1126
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0975
                        },
                        {
                          "name": "interceptionWon_p90",
                          "contribution": -0.025
                        },
                        {
                          "name": "touches",
                          "contribution": 0.0209
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.017
                        }
                      ],
                      "others": -0.0357,
                      "total": 0.8268,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.12187
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.104664
                        },
                        {
                          "name": "interceptionWon_p90",
                          "margin": -0.02874
                        },
                        {
                          "name": "touches",
                          "margin": 0.024101
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.019482
                        }
                      ],
                      "others_margin": -0.042284
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.26433527469635,
                    "model_output": 1.2643,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1761
                        },
                        {
                          "name": "press_vulnerability",
                          "contribution": -0.0666
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0485
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": -0.0468
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0307
                        }
                      ],
                      "others": -0.1049,
                      "total": 1.2643,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.119642
                        },
                        {
                          "name": "press_vulnerability",
                          "margin": -0.04357
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.033007
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": -0.032876
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.022183
                        }
                      ],
                      "others_margin": -0.079647
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.8107599020004272,
                    "model_output": 0.8108,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1131
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0421
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": -0.0337
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0277
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0202
                        }
                      ],
                      "others": -0.0797,
                      "total": 0.8108,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.125471
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.044864
                        },
                        {
                          "name": "defensive_actions",
                          "margin": -0.037469
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.030896
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.022381
                        }
                      ],
                      "others_margin": -0.093849
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 3.014420986175537,
                    "model_output": 3.0144,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.4596
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.4526
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.3773
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.1294
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.072
                        }
                      ],
                      "others": -0.1044,
                      "total": 3.0144,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.125696
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.123636
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.116221
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.041414
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.022817
                        }
                      ],
                      "others_margin": -0.03409
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.1850004196166992,
                    "model_output": 1.185,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1491
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.1215
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0838
                        },
                        {
                          "name": "aerialLost",
                          "contribution": -0.0709
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0481
                        }
                      ],
                      "others": -0.0174,
                      "total": 1.185,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.102771
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.082946
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.061484
                        },
                        {
                          "name": "aerialLost",
                          "margin": -0.055167
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.039243
                        }
                      ],
                      "others_margin": -0.014546
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.5142202377319336,
                    "model_output": 0.5142,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0588
                        },
                        {
                          "name": "rating",
                          "contribution": 0.029
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0137
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.0106
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0076
                        }
                      ],
                      "others": -0.0202,
                      "total": 0.5142,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.058782
                        },
                        {
                          "name": "rating",
                          "margin": 0.029034
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.01367
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.010619
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.007645
                        }
                      ],
                      "others_margin": -0.020201
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.835235118865967,
                    "model_output": 6.8352,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": 0.0195
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.019
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0108
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0106
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0059
                        }
                      ],
                      "others": 0.0069,
                      "total": 6.8352,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": 0.019541
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.019047
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.01079
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.010591
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.005884
                        }
                      ],
                      "others_margin": 0.006817
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 27,
                  "role_matches": 22,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0146, quality 0.817)",
              "stats": {
                "interceptions": 0.8389,
                "tackles": 1.2828,
                "tackles_won": 0.8226,
                "clearances": 3.0584,
                "aerial_won": 1.2023,
                "total_shots": 0.5217,
                "rating": 6.8352,
                "minutes": 81.67,
                "total_pass": 54.7014,
                "accurate_pass": 49.9615,
                "duels_won": 4.1008,
                "total_long_balls": 3.9196,
                "accurate_long_balls": 2.4457,
                "total_own_half_passes": 31.3206,
                "accurate_own_half_passes": 29.8066,
                "total_opp_half_passes": 23.3808,
                "accurate_opp_half_passes": 20.155,
                "crosses_total": 0.6161,
                "crosses_accurate": 0.182,
                "touches": 68.8732,
                "possession_lost": 7.3111,
                "dispossessed": 0.1992,
                "duels_lost": 2.4138,
                "aerial_lost": 0.8303,
                "total_contest": 0.2918,
                "won_contest": 0.2327,
                "ball_recovery": 3.0884,
                "challenges_lost": 0.2368,
                "fouls": 1.0944,
                "fouls_drawn": 0.7851,
                "blocks": 0.3355,
                "goals": 0.1093,
                "goal_rate": 0.1093,
                "assists": 0.0071,
                "assist_rate": 0.0071,
                "expected_goals": 0.0538,
                "expected_assists": 0.0201,
                "shots_on_target": 0.1645,
                "big_chances_created": 0.0072,
                "xgot": 0.084,
                "ball_carries": 16.6232,
                "total_progression": 71.7637,
                "progressive_carries": 0.8375,
                "key_pass": 0.1798,
                "shots_off_target": 0.3572
              },
              "params": {
                "market_value_eur": 48000000,
                "quality_factor": 0.8168,
                "boost_factor": 1.0146,
                "reference_quality": 0.505,
                "history_matches": 27,
                "history_shrink": 0.1562,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0115)",
              "stats": {
                "interceptions": 0.8292,
                "tackles": 1.2828,
                "tackles_won": 0.8193,
                "clearances": 3.0584,
                "aerial_won": 1.2023,
                "total_shots": 0.5278,
                "rating": 6.8352,
                "minutes": 81.67,
                "total_pass": 54.7014,
                "accurate_pass": 49.9615,
                "duels_won": 4.1008,
                "total_long_balls": 3.9196,
                "accurate_long_balls": 2.4457,
                "total_own_half_passes": 31.3206,
                "accurate_own_half_passes": 29.8066,
                "total_opp_half_passes": 23.3808,
                "accurate_opp_half_passes": 20.155,
                "crosses_total": 0.6213,
                "crosses_accurate": 0.182,
                "touches": 68.8732,
                "possession_lost": 7.3111,
                "dispossessed": 0.1992,
                "duels_lost": 2.4138,
                "aerial_lost": 0.8303,
                "total_contest": 0.2918,
                "won_contest": 0.2327,
                "ball_recovery": 3.0884,
                "challenges_lost": 0.2368,
                "fouls": 1.0941,
                "fouls_drawn": 0.7884,
                "blocks": 0.3355,
                "goals": 0.1142,
                "goal_rate": 0.1142,
                "assists": 0.007,
                "assist_rate": 0.007,
                "expected_goals": 0.0538,
                "expected_assists": 0.0201,
                "shots_on_target": 0.1687,
                "big_chances_created": 0.0072,
                "xgot": 0.084,
                "ball_carries": 16.6232,
                "total_progression": 71.7637,
                "progressive_carries": 0.8375,
                "key_pass": 0.1798,
                "shots_off_target": 0.3572
              },
              "params": {
                "blend_weight": 0.0115,
                "history_matches": 27,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9074,
                "prior_reliability": 0.1133,
                "competition": "La Liga",
                "squad": "Atlético Madrid"
              },
              "changes": [
                {
                  "stat": "interceptionWon",
                  "before": 0.8389,
                  "after": 0.8292
                },
                {
                  "stat": "totalShots",
                  "before": 0.5217,
                  "after": 0.5278
                },
                {
                  "stat": "totalCross",
                  "before": 0.6161,
                  "after": 0.6213
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.8292,
                "tackles": 1.2828,
                "tackles_won": 0.8193,
                "clearances": 3.0584,
                "aerial_won": 1.2023,
                "total_shots": 0.5278,
                "rating": 6.8352,
                "minutes": 81.67,
                "total_pass": 54.7014,
                "accurate_pass": 49.9615,
                "duels_won": 4.1008,
                "total_long_balls": 3.9196,
                "accurate_long_balls": 2.4457,
                "total_own_half_passes": 31.3206,
                "accurate_own_half_passes": 29.8066,
                "total_opp_half_passes": 23.3808,
                "accurate_opp_half_passes": 20.155,
                "crosses_total": 0.6213,
                "crosses_accurate": 0.182,
                "touches": 68.8732,
                "possession_lost": 7.3111,
                "dispossessed": 0.1992,
                "duels_lost": 2.4138,
                "aerial_lost": 0.8303,
                "total_contest": 0.2918,
                "won_contest": 0.2327,
                "ball_recovery": 3.0884,
                "challenges_lost": 0.2368,
                "fouls": 1.0941,
                "fouls_drawn": 0.7884,
                "blocks": 0.3355,
                "goals": 0.1142,
                "goal_rate": 0.1142,
                "assists": 0.007,
                "assist_rate": 0.007,
                "expected_goals": 0.0538,
                "expected_assists": 0.0201,
                "shots_on_target": 0.1687,
                "big_chances_created": 0.0072,
                "xgot": 0.084,
                "ball_carries": 16.6232,
                "total_progression": 71.7637,
                "progressive_carries": 0.8375,
                "key_pass": 0.1798,
                "shots_off_target": 0.3572
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 0.8292,
                "tackles": 1.2828,
                "tackles_won": 0.8193,
                "clearances": 3.0584,
                "aerial_won": 1.2023,
                "total_shots": 0.5278,
                "rating": 6.8352,
                "minutes": 81.67,
                "total_pass": 54.7014,
                "accurate_pass": 49.9615,
                "duels_won": 4.1008,
                "total_long_balls": 3.9196,
                "accurate_long_balls": 2.4457,
                "total_own_half_passes": 31.3206,
                "accurate_own_half_passes": 29.8066,
                "total_opp_half_passes": 23.3808,
                "accurate_opp_half_passes": 20.155,
                "crosses_total": 0.6213,
                "crosses_accurate": 0.182,
                "touches": 68.8732,
                "possession_lost": 7.3111,
                "dispossessed": 0.1992,
                "duels_lost": 2.4138,
                "aerial_lost": 0.8303,
                "total_contest": 0.2918,
                "won_contest": 0.2327,
                "ball_recovery": 3.0884,
                "challenges_lost": 0.2368,
                "fouls": 1.0941,
                "fouls_drawn": 0.7884,
                "blocks": 0.3355,
                "goals": 0.1142,
                "goal_rate": 0.1142,
                "assists": 0.007,
                "assist_rate": 0.007,
                "expected_goals": 0.0538,
                "expected_assists": 0.0201,
                "shots_on_target": 0.1687,
                "big_chances_created": 0.0072,
                "xgot": 0.084,
                "ball_carries": 16.6232,
                "total_progression": 71.7637,
                "progressive_carries": 0.8375,
                "key_pass": 0.1798,
                "shots_off_target": 0.3572,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Iván Romero",
                "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"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Iván Romero",
                  "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle"
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "interceptions": 0.8292,
                "tackles": 1.2828,
                "tackles_won": 0.8193,
                "clearances": 3.0584,
                "aerial_won": 1.2023,
                "total_shots": 0.5278,
                "rating": 6.8352,
                "minutes": 81.67,
                "total_pass": 54.7014,
                "accurate_pass": 49.9615,
                "duels_won": 4.1008,
                "total_long_balls": 3.9196,
                "accurate_long_balls": 2.4457,
                "total_own_half_passes": 31.3206,
                "accurate_own_half_passes": 29.8066,
                "total_opp_half_passes": 23.3808,
                "accurate_opp_half_passes": 20.155,
                "crosses_total": 0.6213,
                "crosses_accurate": 0.182,
                "touches": 68.8732,
                "possession_lost": 7.3111,
                "dispossessed": 0.1992,
                "duels_lost": 2.4138,
                "aerial_lost": 0.8303,
                "total_contest": 0.2918,
                "won_contest": 0.2327,
                "ball_recovery": 3.0884,
                "challenges_lost": 0.2368,
                "fouls": 1.0941,
                "fouls_drawn": 0.7884,
                "blocks": 0.3355,
                "goal_rate": 0.1142,
                "goals": 0,
                "assist_rate": 0.007,
                "assists": 0,
                "expected_goals": 0.0538,
                "expected_assists": 0.0201,
                "shots_on_target": 0.1687,
                "big_chances_created": 0.0072,
                "xgot": 0.084,
                "ball_carries": 16.6232,
                "total_progression": 71.7637,
                "progressive_carries": 0.8375,
                "key_pass": 0.1798,
                "shots_off_target": 0.3572,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Iván Romero",
                "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
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 2.27 (squad xG sum 1.5979, xG scale 1.4181, xA scale 1.4181, team xA 1.65 = 0.73 x lambda)",
              "stats": {
                "interceptions": 0.8292,
                "tackles": 1.2828,
                "tackles_won": 0.8193,
                "clearances": 3.0584,
                "aerial_won": 1.2023,
                "total_shots": 0.5278,
                "rating": 6.8352,
                "minutes": 81.67,
                "total_pass": 54.7014,
                "accurate_pass": 49.9615,
                "duels_won": 4.1008,
                "total_long_balls": 3.9196,
                "accurate_long_balls": 2.4457,
                "total_own_half_passes": 31.3206,
                "accurate_own_half_passes": 29.8066,
                "total_opp_half_passes": 23.3808,
                "accurate_opp_half_passes": 20.155,
                "crosses_total": 0.6213,
                "crosses_accurate": 0.182,
                "touches": 68.8732,
                "possession_lost": 7.3111,
                "dispossessed": 0.1992,
                "duels_lost": 2.4138,
                "aerial_lost": 0.8303,
                "total_contest": 0.2918,
                "won_contest": 0.2327,
                "ball_recovery": 3.0884,
                "challenges_lost": 0.2368,
                "fouls": 1.0941,
                "fouls_drawn": 0.7884,
                "blocks": 0.3355,
                "goal_rate": 0.1142,
                "goals": 0,
                "assist_rate": 0.007,
                "assists": 0,
                "expected_goals": 0.0763,
                "expected_assists": 0.0285,
                "shots_on_target": 0.1687,
                "big_chances_created": 0.0072,
                "xgot": 0.1191,
                "ball_carries": 16.6232,
                "total_progression": 71.7637,
                "progressive_carries": 0.8375,
                "key_pass": 0.1798,
                "shots_off_target": 0.3572,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Iván Romero",
                "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,
                "finishing_factor": 1.25,
                "creation_factor": 0.8131
              },
              "params": {
                "team_lambda": 2.266,
                "squad_xg_sum": 1.5979,
                "squad_xa_sum": 1.1609,
                "team_expected_assists": 1.6463,
                "team_xa_to_xg_ratio": 0.7265,
                "bench_appearance_weighted": true,
                "xg_scale": 1.4181,
                "xa_scale": 1.4181,
                "opponent_lambda": 1.191,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0538,
                  "after": 0.0763
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0201,
                  "after": 0.0285
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 13 by projected rating, fifa_overall 87.0)",
              "stats": {
                "interceptions": 0.8292,
                "tackles": 1.2828,
                "tackles_won": 0.8193,
                "clearances": 3.0584,
                "aerial_won": 1.2023,
                "total_shots": 0.5278,
                "rating": 6.8352,
                "minutes": 81.67,
                "total_pass": 54.7014,
                "accurate_pass": 49.9615,
                "duels_won": 4.1008,
                "total_long_balls": 3.9196,
                "accurate_long_balls": 2.4457,
                "total_own_half_passes": 31.3206,
                "accurate_own_half_passes": 29.8066,
                "total_opp_half_passes": 23.3808,
                "accurate_opp_half_passes": 20.155,
                "crosses_total": 0.6213,
                "crosses_accurate": 0.182,
                "touches": 68.8732,
                "possession_lost": 7.3111,
                "dispossessed": 0.1992,
                "duels_lost": 2.4138,
                "aerial_lost": 0.8303,
                "total_contest": 0.2918,
                "won_contest": 0.2327,
                "ball_recovery": 3.0884,
                "challenges_lost": 0.2368,
                "fouls": 1.0941,
                "fouls_drawn": 0.7884,
                "blocks": 0.3355,
                "goal_rate": 0.1142,
                "goals": 0,
                "assist_rate": 0.007,
                "assists": 0,
                "expected_goals": 0.0763,
                "expected_assists": 0.0285,
                "shots_on_target": 0.1687,
                "big_chances_created": 0.0072,
                "xgot": 0.1191,
                "ball_carries": 16.6232,
                "total_progression": 71.7637,
                "progressive_carries": 0.8375,
                "key_pass": 0.1798,
                "shots_off_target": 0.3572,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Iván Romero",
                "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,
                "finishing_factor": 1.25,
                "creation_factor": 0.8131,
                "fifa_overall": 87.0
              },
              "params": {
                "match_squad_rank": 13,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 153,
                "fifa_rank": 64.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 87.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 0.8292,
                "tackles": 1.2828,
                "tackles_won": 0.8193,
                "clearances": 3.0584,
                "aerial_won": 1.2023,
                "total_shots": 0.5278,
                "rating": 6.8352,
                "minutes": 81.67,
                "total_pass": 54.7014,
                "accurate_pass": 49.9615,
                "duels_won": 4.1008,
                "total_long_balls": 3.9196,
                "accurate_long_balls": 2.4457,
                "total_own_half_passes": 31.3206,
                "accurate_own_half_passes": 29.8066,
                "total_opp_half_passes": 23.3808,
                "accurate_opp_half_passes": 20.155,
                "crosses_total": 0.6213,
                "crosses_accurate": 0.182,
                "touches": 68.8732,
                "possession_lost": 7.3111,
                "dispossessed": 0.1992,
                "duels_lost": 2.4138,
                "aerial_lost": 0.8303,
                "total_contest": 0.2918,
                "won_contest": 0.2327,
                "ball_recovery": 3.0884,
                "challenges_lost": 0.2368,
                "fouls": 1.0941,
                "fouls_drawn": 0.7884,
                "blocks": 0.3355,
                "goal_rate": 0.1142,
                "goals": 0,
                "assist_rate": 0.007,
                "assists": 0,
                "expected_goals": 0.0763,
                "expected_assists": 0.0285,
                "shots_on_target": 0.1687,
                "big_chances_created": 0.0072,
                "xgot": 0.1191,
                "ball_carries": 16.6232,
                "total_progression": 71.7637,
                "progressive_carries": 0.8375,
                "key_pass": 0.1798,
                "shots_off_target": 0.3572,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Iván Romero",
                "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.0735,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.25,
                "creation_factor": 0.8131,
                "fifa_overall": 87.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0735,
                "goal_rate": 0.1142,
                "scorer_weight": 0.0954,
                "squad_weight_total": 2.4769,
                "weight_share": 0.0385,
                "finishing_factor": 1.25,
                "appearance_weight": 1.0,
                "weight_rank": 9,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.6971,
                    "already": 0,
                    "effective_weight": 0.6971,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.3346
                  },
                  {
                    "n": 2,
                    "player": "Alex Baena",
                    "weight": 0.3346,
                    "already": 0,
                    "effective_weight": 0.3346,
                    "runner_up": "Kang-in Lee",
                    "runner_up_effective_weight": 0.3062
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 0.8292,
                "tackles": 1.2828,
                "tackles_won": 0.8193,
                "clearances": 3.0584,
                "aerial_won": 1.2023,
                "total_shots": 0.5278,
                "rating": 6.8352,
                "minutes": 81.67,
                "total_pass": 54.7014,
                "accurate_pass": 49.9615,
                "duels_won": 4.1008,
                "total_long_balls": 3.9196,
                "accurate_long_balls": 2.4457,
                "total_own_half_passes": 31.3206,
                "accurate_own_half_passes": 29.8066,
                "total_opp_half_passes": 23.3808,
                "accurate_opp_half_passes": 20.155,
                "crosses_total": 0.6213,
                "crosses_accurate": 0.182,
                "touches": 68.8732,
                "possession_lost": 7.3111,
                "dispossessed": 0.1992,
                "duels_lost": 2.4138,
                "aerial_lost": 0.8303,
                "total_contest": 0.2918,
                "won_contest": 0.2327,
                "ball_recovery": 3.0884,
                "challenges_lost": 0.2368,
                "fouls": 1.0941,
                "fouls_drawn": 0.7884,
                "blocks": 0.3355,
                "goal_rate": 0.1142,
                "goals": 0,
                "assist_rate": 0.007,
                "assists": 0,
                "expected_goals": 0.0763,
                "expected_assists": 0.0285,
                "shots_on_target": 0.1687,
                "big_chances_created": 0.0072,
                "xgot": 0.1191,
                "ball_carries": 16.6232,
                "total_progression": 71.7637,
                "progressive_carries": 0.8375,
                "key_pass": 0.1798,
                "shots_off_target": 0.3572,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Iván Romero",
                "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.0735,
                "projected_assists": 0,
                "assist_probability": 0.0281,
                "finishing_factor": 1.25,
                "creation_factor": 0.8131,
                "fifa_overall": 87.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0281,
                "assist_rate": 0.007,
                "provider_weight": 0.0232,
                "squad_weight_total": 1.6132,
                "weight_share": 0.0144,
                "creation_factor": 0.8131,
                "appearance_weight": 1.0,
                "weight_rank": 12,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.257,
                    "already": 0,
                    "effective_weight": 0.257,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.2198
                  }
                ]
              }
            }
          ]
        },
        "Marcos Llorente": {
          "player_id": 353138,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 14,
          "height": 184,
          "market_value": 21000000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 2,
            "aerial_won": 1,
            "total_shots": 1,
            "rating": 7.0499,
            "minutes": 84,
            "total_pass": 60,
            "accurate_pass": 55,
            "duels_won": 3,
            "total_long_balls": 3,
            "accurate_long_balls": 2,
            "total_own_half_passes": 25,
            "accurate_own_half_passes": 23,
            "total_opp_half_passes": 35,
            "accurate_opp_half_passes": 32,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 78,
            "possession_lost": 8.3903,
            "dispossessed": 0.5964,
            "duels_lost": 3,
            "aerial_lost": 0,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 5,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assist_rate": 0.0923,
            "assists": 0,
            "expected_goals": 0.0682,
            "expected_assists": 0.1152,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0554,
            "ball_carries": 20,
            "total_progression": 74,
            "progressive_carries": 2,
            "key_pass": 1,
            "shots_off_target": 0,
            "tackles_in_zone": 2.1,
            "tackles_won_in_zone": 1.8,
            "interceptions_in_zone": 1.0,
            "clearances_in_zone": 0.9,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.673,
            "opponent_faced": "Thiago Fernández",
            "pressing_zone": "Right Wing vs Left Back — Flank Battle",
            "matchup_zone": "Right Wing vs Left Back — Flank Battle",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0659,
            "projected_assists": 0,
            "assist_probability": 0.1088,
            "finishing_factor": 0.8,
            "creation_factor": 1.0846,
            "fifa_overall": 85.0
          },
          "latest_10_games": [
            {
              "match_id": 16421082,
              "match_date": "2026-10-24",
              "home_team": "Atlético Madrid",
              "away_team": "Deportivo de A Coruña",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0325,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 49,
                "accurate_pass": 42,
                "tackles": 1,
                "tackles_won": 0,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 7,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421071,
              "match_date": "2026-10-17",
              "home_team": "Espanyol",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 35,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0733,
                "expected_assists": 0.0347,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 37,
                "accurate_pass": 37,
                "tackles": 2,
                "tackles_won": 2,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo Alavés",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2286,
                "expected_assists": 0.0684,
                "total_shots": 3,
                "shots_on_target": 2,
                "total_pass": 91,
                "accurate_pass": 89,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 2,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416339,
              "match_date": "2026-09-20",
              "home_team": "Atlético Madrid",
              "away_team": "Real Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.041,
                "total_shots": 0,
                "total_pass": 81,
                "accurate_pass": 77,
                "key_pass": 3,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416335,
              "match_date": "2026-09-16",
              "home_team": "Atlético Madrid",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0664,
                "total_shots": 0,
                "total_pass": 62,
                "accurate_pass": 59,
                "key_pass": 1,
                "tackles": 4,
                "tackles_won": 4,
                "clearances": 1,
                "duels_won": 6,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416332,
              "match_date": "2026-09-13",
              "home_team": "Real Sociedad",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 60,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0269,
                "total_shots": 0,
                "total_pass": 31,
                "accurate_pass": 25,
                "key_pass": 2,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 3,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416317,
              "match_date": "2026-09-05",
              "home_team": "Athletic Club",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0755,
                "expected_assists": 0.0281,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 68,
                "accurate_pass": 63,
                "key_pass": 2,
                "interceptions": 2,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 66,
                "rating": 7.9,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_assists": 0.0129,
                "total_shots": 0,
                "total_pass": 51,
                "accurate_pass": 48,
                "key_pass": 1,
                "tackles": 2,
                "interceptions": 3,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416302,
              "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": 24,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0306,
                "expected_assists": 0.0425,
                "total_shots": 1,
                "total_pass": 21,
                "accurate_pass": 20,
                "tackles": 2,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421055,
              "match_date": "2026-08-19",
              "home_team": "Atlético Madrid",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 45,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0088,
                "total_shots": 0,
                "total_pass": 33,
                "accurate_pass": 31,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 264,
            "combined_rank_score": 196.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 236.0,
            "sofascore_rating": 7.1333,
            "sofascore_appearances": 3.0,
            "fifa_rank": 157.0,
            "fifa_overall": 85.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 5,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 7.0499,
            "source_file": "data/player_rankings.csv",
            "player_name": "Marcos Llorente",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "James Nicholas Delianov",
                  "ranking": 259
                },
                {
                  "player_name": "Scott McTominay",
                  "ranking": 260
                },
                {
                  "player_name": "Yann Sommer",
                  "ranking": 261
                },
                {
                  "player_name": "Éder Militão",
                  "ranking": 262
                },
                {
                  "player_name": "Aleksandar Pavlović",
                  "ranking": 263
                }
              ],
              "lower": [
                {
                  "player_name": "Alexander Sørloth",
                  "ranking": 265
                },
                {
                  "player_name": "Edgar Silva",
                  "ranking": 266
                },
                {
                  "player_name": "Antonio Rüdiger",
                  "ranking": 267
                },
                {
                  "player_name": "Ibrahima Konaté",
                  "ranking": 268
                },
                {
                  "player_name": "Jorge Henríquez",
                  "ranking": 269
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.765,
          "history_matches": 39,
          "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",
              "totalTackle",
              "totalShots",
              "rating",
              "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",
              "totalShots",
              "rating"
            ],
            "history_matches": 39,
            "data_confidence": 0.765,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0046,
            "fbref_prior_metrics": {
              "squad": "Atlético Madrid",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 1.0,
              "minutes": 135.0,
              "goals_per90": 0.0,
              "assists_per90": 0.6666666666666666,
              "shots_per90": 0.67,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.1
            },
            "rationale": "XGBoost regressor (D_service) evaluated 39 historical appearances across 7 target models; FBref 2026-2027 prior blended (La Liga, Atlético Madrid, rel: 0.10, gls/90: 0.0, ast/90: 0.6666666666666666)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 1.0588,
                "tackles": 1.9218,
                "tackles_won": 1.1971,
                "clearances": 1.7937,
                "aerial_won": 0.5922,
                "total_shots": 0.6126,
                "rating": 7.0499,
                "minutes": 83.95,
                "total_pass": 59.7218,
                "accurate_pass": 55.1385,
                "duels_won": 3.3361,
                "total_long_balls": 3.0013,
                "accurate_long_balls": 1.9308,
                "total_own_half_passes": 24.6833,
                "accurate_own_half_passes": 23.1821,
                "total_opp_half_passes": 35.0385,
                "accurate_opp_half_passes": 31.9564,
                "crosses_total": 1.6463,
                "crosses_accurate": 0.174,
                "touches": 77.8091,
                "possession_lost": 8.3519,
                "dispossessed": 0.5937,
                "duels_lost": 3.1784,
                "aerial_lost": 0.3491,
                "total_contest": 0.8783,
                "won_contest": 0.6632,
                "ball_recovery": 4.5497,
                "challenges_lost": 1.2413,
                "fouls": 0.7792,
                "fouls_drawn": 0.202,
                "blocks": 0.2052,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.088,
                "assist_rate": 0.088,
                "expected_goals": 0.0479,
                "expected_assists": 0.0808,
                "shots_on_target": 0.4377,
                "big_chances_created": 0.0535,
                "xgot": 0.0389,
                "ball_carries": 19.6915,
                "total_progression": 73.6209,
                "progressive_carries": 1.5257,
                "key_pass": 0.9566,
                "shots_off_target": 0.1749
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1503,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Espanyol",
                    "minutes": 35.0,
                    "is_starting": false,
                    "weight": 0.1277,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Deportivo Alavés",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1086,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0923,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Real Sociedad",
                    "minutes": 60.0,
                    "is_starting": true,
                    "weight": 0.0667,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0567,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Sevilla",
                    "minutes": 66.0,
                    "is_starting": true,
                    "weight": 0.0482,
                    "rating": 7.9
                  },
                  {
                    "match_date": "2026-08-23",
                    "opponent": "Villarreal",
                    "minutes": 24.0,
                    "is_starting": false,
                    "weight": 0.0409,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-19",
                    "opponent": "Málaga CF",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.0348,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalClearance": 0.9425,
                  "aerialWon": 0.4557,
                  "totalClearance_p90": 1.227,
                  "totalTackle": 1.8862,
                  "totalPass": 53.0066
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 1.05880868434906,
                    "model_output": 1.0588,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1246
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0619
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0389
                        },
                        {
                          "name": "ballRecovery_p90",
                          "contribution": 0.0254
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0239
                        }
                      ],
                      "others": 0.0872,
                      "total": 1.0588,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.134011
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.064328
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.040926
                        },
                        {
                          "name": "ballRecovery_p90",
                          "margin": 0.025819
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.024322
                        }
                      ],
                      "others_margin": 0.086005
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.9218429327011108,
                    "model_output": 1.9218,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1739
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.089
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0899
                        },
                        {
                          "name": "challengeLost",
                          "contribution": 0.0711
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.0629
                        }
                      ],
                      "others": 0.0493,
                      "total": 1.9218,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.118251
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.055483
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.053096
                        },
                        {
                          "name": "challengeLost",
                          "margin": 0.040085
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.034168
                        }
                      ],
                      "others_margin": 0.026016
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 1.197084665298462,
                    "model_output": 1.1971,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1082
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.0596
                        },
                        {
                          "name": "challengeLost",
                          "contribution": 0.0505
                        },
                        {
                          "name": "defensive_actions",
                          "contribution": 0.05
                        },
                        {
                          "name": "totalTackle_p90",
                          "contribution": 0.0472
                        }
                      ],
                      "others": 0.0359,
                      "total": 1.1971,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.120401
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.060564
                        },
                        {
                          "name": "challengeLost",
                          "margin": 0.048585
                        },
                        {
                          "name": "defensive_actions",
                          "margin": 0.045881
                        },
                        {
                          "name": "totalTackle_p90",
                          "margin": 0.041499
                        }
                      ],
                      "others_margin": 0.030544
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 1.7936663627624512,
                    "model_output": 1.7937,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "totalClearance",
                          "contribution": -0.7911
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.309
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.3005
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.2681
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.1208
                        }
                      ],
                      "others": -0.4495,
                      "total": 1.7937,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "totalClearance",
                          "margin": -0.262042
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.124456
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.121212
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.107441
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.052448
                        }
                      ],
                      "others_margin": -0.223625
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.5921636819839478,
                    "model_output": 0.5922,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.4804
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.1142
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0959
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.092
                        },
                        {
                          "name": "aerialLost",
                          "contribution": -0.0501
                        }
                      ],
                      "others": -0.1446,
                      "total": 0.5922,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": -0.428838
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.136157
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.115495
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.110599
                        },
                        {
                          "name": "aerialLost",
                          "margin": -0.065804
                        }
                      ],
                      "others_margin": -0.218427
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.612575888633728,
                    "model_output": 0.6126,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0577
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0332
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0299
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.011
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": 0.0109
                        }
                      ],
                      "others": -0.0086,
                      "total": 0.6126,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.057726
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.033166
                        },
                        {
                          "name": "rating",
                          "margin": 0.029863
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.010984
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": 0.01086
                        }
                      ],
                      "others_margin": -0.008563
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.049922466278076,
                    "model_output": 7.0499,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0798
                        },
                        {
                          "name": "totalPass",
                          "contribution": 0.0649
                        },
                        {
                          "name": "touches_p90",
                          "contribution": 0.0349
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.032
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0308
                        }
                      ],
                      "others": 0.012,
                      "total": 7.0499,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.07981
                        },
                        {
                          "name": "totalPass",
                          "margin": 0.064856
                        },
                        {
                          "name": "touches_p90",
                          "margin": 0.034888
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.031955
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.0308
                        }
                      ],
                      "others_margin": 0.012097
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 39,
                  "role_matches": 32,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0046, quality 0.641)",
              "stats": {
                "interceptions": 1.0637,
                "tackles": 1.9307,
                "tackles_won": 1.2026,
                "clearances": 1.8019,
                "aerial_won": 0.5949,
                "total_shots": 0.6154,
                "rating": 7.0499,
                "minutes": 83.95,
                "total_pass": 59.9965,
                "accurate_pass": 55.3921,
                "duels_won": 3.3514,
                "total_long_balls": 3.0151,
                "accurate_long_balls": 1.9397,
                "total_own_half_passes": 24.7968,
                "accurate_own_half_passes": 23.2887,
                "total_opp_half_passes": 35.1997,
                "accurate_opp_half_passes": 32.1034,
                "crosses_total": 1.6539,
                "crosses_accurate": 0.1748,
                "touches": 78.167,
                "possession_lost": 8.3903,
                "dispossessed": 0.5964,
                "duels_lost": 3.193,
                "aerial_lost": 0.3507,
                "total_contest": 0.8823,
                "won_contest": 0.6663,
                "ball_recovery": 4.5706,
                "challenges_lost": 1.247,
                "fouls": 0.7828,
                "fouls_drawn": 0.2029,
                "blocks": 0.2061,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0884,
                "assist_rate": 0.0884,
                "expected_goals": 0.0481,
                "expected_assists": 0.0812,
                "shots_on_target": 0.4397,
                "big_chances_created": 0.0537,
                "xgot": 0.0391,
                "ball_carries": 19.7821,
                "total_progression": 73.9596,
                "progressive_carries": 1.5327,
                "key_pass": 0.961,
                "shots_off_target": 0.1757
              },
              "params": {
                "market_value_eur": 21000000,
                "quality_factor": 0.6408,
                "boost_factor": 1.0046,
                "reference_quality": 0.505,
                "history_matches": 39,
                "history_shrink": 0.1136,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0074)",
              "stats": {
                "interceptions": 1.0742,
                "tackles": 1.9307,
                "tackles_won": 1.2029,
                "clearances": 1.8019,
                "aerial_won": 0.5949,
                "total_shots": 0.6155,
                "rating": 7.0499,
                "minutes": 83.95,
                "total_pass": 59.9965,
                "accurate_pass": 55.3921,
                "duels_won": 3.3514,
                "total_long_balls": 3.0151,
                "accurate_long_balls": 1.9397,
                "total_own_half_passes": 24.7968,
                "accurate_own_half_passes": 23.2887,
                "total_opp_half_passes": 35.1997,
                "accurate_opp_half_passes": 32.1034,
                "crosses_total": 1.6417,
                "crosses_accurate": 0.1748,
                "touches": 78.167,
                "possession_lost": 8.3903,
                "dispossessed": 0.5964,
                "duels_lost": 3.193,
                "aerial_lost": 0.3507,
                "total_contest": 0.8823,
                "won_contest": 0.6663,
                "ball_recovery": 4.5706,
                "challenges_lost": 1.247,
                "fouls": 0.8046,
                "fouls_drawn": 0.2106,
                "blocks": 0.2061,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0923,
                "assist_rate": 0.0923,
                "expected_goals": 0.0481,
                "expected_assists": 0.0812,
                "shots_on_target": 0.4365,
                "big_chances_created": 0.0537,
                "xgot": 0.0391,
                "ball_carries": 19.7821,
                "total_progression": 73.9596,
                "progressive_carries": 1.5327,
                "key_pass": 0.961,
                "shots_off_target": 0.1757
              },
              "params": {
                "blend_weight": 0.0074,
                "history_matches": 39,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.9328,
                "prior_reliability": 0.1,
                "competition": "La Liga",
                "squad": "Atlético Madrid"
              },
              "changes": [
                {
                  "stat": "fouls",
                  "before": 0.7828,
                  "after": 0.8046
                },
                {
                  "stat": "totalCross",
                  "before": 1.6539,
                  "after": 1.6417
                },
                {
                  "stat": "interceptionWon",
                  "before": 1.0637,
                  "after": 1.0742
                },
                {
                  "stat": "wasFouled",
                  "before": 0.2029,
                  "after": 0.2106
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1.0742,
                "tackles": 1.9307,
                "tackles_won": 1.2029,
                "clearances": 1.8019,
                "aerial_won": 0.5949,
                "total_shots": 0.6155,
                "rating": 7.0499,
                "minutes": 83.95,
                "total_pass": 59.9965,
                "accurate_pass": 55.3921,
                "duels_won": 3.3514,
                "total_long_balls": 3.0151,
                "accurate_long_balls": 1.9397,
                "total_own_half_passes": 24.7968,
                "accurate_own_half_passes": 23.2887,
                "total_opp_half_passes": 35.1997,
                "accurate_opp_half_passes": 32.1034,
                "crosses_total": 1.6417,
                "crosses_accurate": 0.1748,
                "touches": 78.167,
                "possession_lost": 8.3903,
                "dispossessed": 0.5964,
                "duels_lost": 3.193,
                "aerial_lost": 0.3507,
                "total_contest": 0.8823,
                "won_contest": 0.6663,
                "ball_recovery": 4.5706,
                "challenges_lost": 1.247,
                "fouls": 0.8046,
                "fouls_drawn": 0.2106,
                "blocks": 0.2061,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0923,
                "assist_rate": 0.0923,
                "expected_goals": 0.0481,
                "expected_assists": 0.0812,
                "shots_on_target": 0.4365,
                "big_chances_created": 0.0537,
                "xgot": 0.0391,
                "ball_carries": 19.7821,
                "total_progression": 73.9596,
                "progressive_carries": 1.5327,
                "key_pass": 0.961,
                "shots_off_target": 0.1757
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1.0742,
                "tackles": 1.9307,
                "tackles_won": 1.2029,
                "clearances": 1.8019,
                "aerial_won": 0.5949,
                "total_shots": 0.6155,
                "rating": 7.0499,
                "minutes": 83.95,
                "total_pass": 59.9965,
                "accurate_pass": 55.3921,
                "duels_won": 3.3514,
                "total_long_balls": 3.0151,
                "accurate_long_balls": 1.9397,
                "total_own_half_passes": 24.7968,
                "accurate_own_half_passes": 23.2887,
                "total_opp_half_passes": 35.1997,
                "accurate_opp_half_passes": 32.1034,
                "crosses_total": 1.6417,
                "crosses_accurate": 0.1748,
                "touches": 78.167,
                "possession_lost": 8.3903,
                "dispossessed": 0.5964,
                "duels_lost": 3.193,
                "aerial_lost": 0.3507,
                "total_contest": 0.8823,
                "won_contest": 0.6663,
                "ball_recovery": 4.5706,
                "challenges_lost": 1.247,
                "fouls": 0.8046,
                "fouls_drawn": 0.2106,
                "blocks": 0.2061,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0923,
                "assist_rate": 0.0923,
                "expected_goals": 0.0481,
                "expected_assists": 0.0812,
                "shots_on_target": 0.4365,
                "big_chances_created": 0.0537,
                "xgot": 0.0391,
                "ball_carries": 19.7821,
                "total_progression": 73.9596,
                "progressive_carries": 1.5327,
                "key_pass": 0.961,
                "shots_off_target": 0.1757,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.0,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.673,
                "opponent_faced": "Thiago Fernández",
                "pressing_zone": "Right Wing vs Left Back — Flank Battle",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "antagonist_source": "defensive_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Thiago Fernández",
                  "matchup_zone": "Right Wing vs Left Back — Flank Battle"
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "interceptions": 1.0742,
                "tackles": 1.9307,
                "tackles_won": 1.2029,
                "clearances": 1.8019,
                "aerial_won": 0.5949,
                "total_shots": 0.6155,
                "rating": 7.0499,
                "minutes": 83.95,
                "total_pass": 59.9965,
                "accurate_pass": 55.3921,
                "duels_won": 3.3514,
                "total_long_balls": 3.0151,
                "accurate_long_balls": 1.9397,
                "total_own_half_passes": 24.7968,
                "accurate_own_half_passes": 23.2887,
                "total_opp_half_passes": 35.1997,
                "accurate_opp_half_passes": 32.1034,
                "crosses_total": 1.6417,
                "crosses_accurate": 0.1748,
                "touches": 78.167,
                "possession_lost": 8.3903,
                "dispossessed": 0.5964,
                "duels_lost": 3.193,
                "aerial_lost": 0.3507,
                "total_contest": 0.8823,
                "won_contest": 0.6663,
                "ball_recovery": 4.5706,
                "challenges_lost": 1.247,
                "fouls": 0.8046,
                "fouls_drawn": 0.2106,
                "blocks": 0.2061,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0923,
                "assists": 0,
                "expected_goals": 0.0481,
                "expected_assists": 0.0812,
                "shots_on_target": 0.4365,
                "big_chances_created": 0.0537,
                "xgot": 0.0391,
                "ball_carries": 19.7821,
                "total_progression": 73.9596,
                "progressive_carries": 1.5327,
                "key_pass": 0.961,
                "shots_off_target": 0.1757,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.0,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.673,
                "opponent_faced": "Thiago Fernández",
                "pressing_zone": "Right Wing vs Left Back — Flank Battle",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 2.27 (squad xG sum 1.5979, xG scale 1.4181, xA scale 1.4181, team xA 1.65 = 0.73 x lambda)",
              "stats": {
                "interceptions": 1.0742,
                "tackles": 1.9307,
                "tackles_won": 1.2029,
                "clearances": 1.8019,
                "aerial_won": 0.5949,
                "total_shots": 0.6155,
                "rating": 7.0499,
                "minutes": 83.95,
                "total_pass": 59.9965,
                "accurate_pass": 55.3921,
                "duels_won": 3.3514,
                "total_long_balls": 3.0151,
                "accurate_long_balls": 1.9397,
                "total_own_half_passes": 24.7968,
                "accurate_own_half_passes": 23.2887,
                "total_opp_half_passes": 35.1997,
                "accurate_opp_half_passes": 32.1034,
                "crosses_total": 1.6417,
                "crosses_accurate": 0.1748,
                "touches": 78.167,
                "possession_lost": 8.3903,
                "dispossessed": 0.5964,
                "duels_lost": 3.193,
                "aerial_lost": 0.3507,
                "total_contest": 0.8823,
                "won_contest": 0.6663,
                "ball_recovery": 4.5706,
                "challenges_lost": 1.247,
                "fouls": 0.8046,
                "fouls_drawn": 0.2106,
                "blocks": 0.2061,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0923,
                "assists": 0,
                "expected_goals": 0.0682,
                "expected_assists": 0.1152,
                "shots_on_target": 0.4365,
                "big_chances_created": 0.0537,
                "xgot": 0.0554,
                "ball_carries": 19.7821,
                "total_progression": 73.9596,
                "progressive_carries": 1.5327,
                "key_pass": 0.961,
                "shots_off_target": 0.1757,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.0,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.673,
                "opponent_faced": "Thiago Fernández",
                "pressing_zone": "Right Wing vs Left Back — Flank Battle",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 1.0846
              },
              "params": {
                "team_lambda": 2.266,
                "squad_xg_sum": 1.5979,
                "squad_xa_sum": 1.1609,
                "team_expected_assists": 1.6463,
                "team_xa_to_xg_ratio": 0.7265,
                "bench_appearance_weighted": true,
                "xg_scale": 1.4181,
                "xa_scale": 1.4181,
                "opponent_lambda": 1.191,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0481,
                  "after": 0.0682
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0812,
                  "after": 0.1152
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 5 by projected rating, fifa_overall 85.0)",
              "stats": {
                "interceptions": 1.0742,
                "tackles": 1.9307,
                "tackles_won": 1.2029,
                "clearances": 1.8019,
                "aerial_won": 0.5949,
                "total_shots": 0.6155,
                "rating": 7.0499,
                "minutes": 83.95,
                "total_pass": 59.9965,
                "accurate_pass": 55.3921,
                "duels_won": 3.3514,
                "total_long_balls": 3.0151,
                "accurate_long_balls": 1.9397,
                "total_own_half_passes": 24.7968,
                "accurate_own_half_passes": 23.2887,
                "total_opp_half_passes": 35.1997,
                "accurate_opp_half_passes": 32.1034,
                "crosses_total": 1.6417,
                "crosses_accurate": 0.1748,
                "touches": 78.167,
                "possession_lost": 8.3903,
                "dispossessed": 0.5964,
                "duels_lost": 3.193,
                "aerial_lost": 0.3507,
                "total_contest": 0.8823,
                "won_contest": 0.6663,
                "ball_recovery": 4.5706,
                "challenges_lost": 1.247,
                "fouls": 0.8046,
                "fouls_drawn": 0.2106,
                "blocks": 0.2061,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0923,
                "assists": 0,
                "expected_goals": 0.0682,
                "expected_assists": 0.1152,
                "shots_on_target": 0.4365,
                "big_chances_created": 0.0537,
                "xgot": 0.0554,
                "ball_carries": 19.7821,
                "total_progression": 73.9596,
                "progressive_carries": 1.5327,
                "key_pass": 0.961,
                "shots_off_target": 0.1757,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.0,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.673,
                "opponent_faced": "Thiago Fernández",
                "pressing_zone": "Right Wing vs Left Back — Flank Battle",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 1.0846,
                "fifa_overall": 85.0
              },
              "params": {
                "match_squad_rank": 5,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 264,
                "fifa_rank": 157.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 85.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "interceptions": 1.0742,
                "tackles": 1.9307,
                "tackles_won": 1.2029,
                "clearances": 1.8019,
                "aerial_won": 0.5949,
                "total_shots": 0.6155,
                "rating": 7.0499,
                "minutes": 83.95,
                "total_pass": 59.9965,
                "accurate_pass": 55.3921,
                "duels_won": 3.3514,
                "total_long_balls": 3.0151,
                "accurate_long_balls": 1.9397,
                "total_own_half_passes": 24.7968,
                "accurate_own_half_passes": 23.2887,
                "total_opp_half_passes": 35.1997,
                "accurate_opp_half_passes": 32.1034,
                "crosses_total": 1.6417,
                "crosses_accurate": 0.1748,
                "touches": 78.167,
                "possession_lost": 8.3903,
                "dispossessed": 0.5964,
                "duels_lost": 3.193,
                "aerial_lost": 0.3507,
                "total_contest": 0.8823,
                "won_contest": 0.6663,
                "ball_recovery": 4.5706,
                "challenges_lost": 1.247,
                "fouls": 0.8046,
                "fouls_drawn": 0.2106,
                "blocks": 0.2061,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0923,
                "assists": 0,
                "expected_goals": 0.0682,
                "expected_assists": 0.1152,
                "shots_on_target": 0.4365,
                "big_chances_created": 0.0537,
                "xgot": 0.0554,
                "ball_carries": 19.7821,
                "total_progression": 73.9596,
                "progressive_carries": 1.5327,
                "key_pass": 0.961,
                "shots_off_target": 0.1757,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.0,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.673,
                "opponent_faced": "Thiago Fernández",
                "pressing_zone": "Right Wing vs Left Back — Flank Battle",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0659,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 0.8,
                "creation_factor": 1.0846,
                "fifa_overall": 85.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0659,
                "goal_rate": 0.0,
                "scorer_weight": 0.0546,
                "squad_weight_total": 2.4769,
                "weight_share": 0.022,
                "finishing_factor": 0.8,
                "appearance_weight": 1.0,
                "weight_rank": 11,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.6971,
                    "already": 0,
                    "effective_weight": 0.6971,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.3346
                  },
                  {
                    "n": 2,
                    "player": "Alex Baena",
                    "weight": 0.3346,
                    "already": 0,
                    "effective_weight": 0.3346,
                    "runner_up": "Kang-in Lee",
                    "runner_up_effective_weight": 0.3062
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "interceptions": 1.0742,
                "tackles": 1.9307,
                "tackles_won": 1.2029,
                "clearances": 1.8019,
                "aerial_won": 0.5949,
                "total_shots": 0.6155,
                "rating": 7.0499,
                "minutes": 83.95,
                "total_pass": 59.9965,
                "accurate_pass": 55.3921,
                "duels_won": 3.3514,
                "total_long_balls": 3.0151,
                "accurate_long_balls": 1.9397,
                "total_own_half_passes": 24.7968,
                "accurate_own_half_passes": 23.2887,
                "total_opp_half_passes": 35.1997,
                "accurate_opp_half_passes": 32.1034,
                "crosses_total": 1.6417,
                "crosses_accurate": 0.1748,
                "touches": 78.167,
                "possession_lost": 8.3903,
                "dispossessed": 0.5964,
                "duels_lost": 3.193,
                "aerial_lost": 0.3507,
                "total_contest": 0.8823,
                "won_contest": 0.6663,
                "ball_recovery": 4.5706,
                "challenges_lost": 1.247,
                "fouls": 0.8046,
                "fouls_drawn": 0.2106,
                "blocks": 0.2061,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0923,
                "assists": 0,
                "expected_goals": 0.0682,
                "expected_assists": 0.1152,
                "shots_on_target": 0.4365,
                "big_chances_created": 0.0537,
                "xgot": 0.0554,
                "ball_carries": 19.7821,
                "total_progression": 73.9596,
                "progressive_carries": 1.5327,
                "key_pass": 0.961,
                "shots_off_target": 0.1757,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.0,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.673,
                "opponent_faced": "Thiago Fernández",
                "pressing_zone": "Right Wing vs Left Back — Flank Battle",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0659,
                "projected_assists": 0,
                "assist_probability": 0.1088,
                "finishing_factor": 0.8,
                "creation_factor": 1.0846,
                "fifa_overall": 85.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.1088,
                "assist_rate": 0.0923,
                "provider_weight": 0.1249,
                "squad_weight_total": 1.6132,
                "weight_share": 0.0775,
                "creation_factor": 1.0846,
                "appearance_weight": 1.0,
                "weight_rank": 7,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.257,
                    "already": 0,
                    "effective_weight": 0.257,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.2198
                  }
                ]
              }
            }
          ]
        },
        "Jan Oblak": {
          "player_id": 69768,
          "position": "G",
          "position_depth": "G",
          "is_starter": true,
          "shirt_number": 13,
          "height": 189,
          "market_value": 16000000,
          "stats": {
            "saves": 3,
            "goals_prevented": -0.0256,
            "rating": 7.0523,
            "minutes": 90,
            "total_pass": 26,
            "accurate_pass": 20,
            "total_long_balls": 11,
            "accurate_long_balls": 4,
            "touches": 35,
            "clearances": 0,
            "ball_recovery": 8,
            "high_claims": 0,
            "punches": 0.6132,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 2,
            "possession_lost": 6.8941,
            "duels_won": 0,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 20,
            "accurate_own_half_passes": 18,
            "gk_engine_opponent_lambda": 1.3957,
            "shots_faced": 11.3,
            "expected_saves": 2.76,
            "high_pressure_saves": 0.95,
            "opponent_faced": "Roger Brugué, Iván Romero",
            "matchup_zone": "Goalkeeper shot-stopping context",
            "antagonist_source": "defensive_duel",
            "goals": 0,
            "projected_goals": 0,
            "goal_probability": 0.0,
            "assists": 0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "finishing_factor": 1.0,
            "creation_factor": 1.0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "fifa_overall": 88.0
          },
          "latest_10_games": [
            {
              "match_id": 16421082,
              "match_date": "2026-10-24",
              "home_team": "Atlético Madrid",
              "away_team": "Deportivo de A Coruña",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 8.3,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0005,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 25,
                "accurate_pass": 18,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 1,
                "aerial_won": 0,
                "duels_won": 0,
                "ball_recovery": 7,
                "saves": 5,
                "goals_prevented": 0.9908
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421071,
              "match_date": "2026-10-17",
              "home_team": "Espanyol",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 23,
                "accurate_pass": 20,
                "ball_recovery": 11,
                "saves": 2,
                "goals_prevented": 0.6224
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo Alavés",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 19,
                "accurate_pass": 14,
                "ball_recovery": 4,
                "saves": 2,
                "goals_prevented": 0.1248
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416339,
              "match_date": "2026-09-20",
              "home_team": "Atlético Madrid",
              "away_team": "Real Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 19,
                "clearances": 1,
                "ball_recovery": 13,
                "saves": 2,
                "goals_prevented": -0.5685
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416335,
              "match_date": "2026-09-16",
              "home_team": "Atlético Madrid",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 30,
                "accurate_pass": 22,
                "ball_recovery": 6,
                "saves": 1,
                "goals_prevented": 0.3059
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416332,
              "match_date": "2026-09-13",
              "home_team": "Real Sociedad",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 90,
                "rating": 7.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0005,
                "total_shots": 0,
                "total_pass": 34,
                "accurate_pass": 24,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 10,
                "saves": 3,
                "goals_prevented": 0.4909
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416317,
              "match_date": "2026-09-05",
              "home_team": "Athletic Club",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 5.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 19,
                "accurate_pass": 15,
                "ball_recovery": 6,
                "saves": 1,
                "goals_prevented": -1.7703
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0012,
                "total_shots": 0,
                "total_pass": 34,
                "accurate_pass": 22,
                "interceptions": 1,
                "duels_won": 1,
                "ball_recovery": 8,
                "saves": 4,
                "goals_prevented": -0.3214
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416302,
              "match_date": "2026-08-23",
              "home_team": "Atlético Madrid",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 8.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 25,
                "ball_recovery": 9,
                "saves": 4,
                "goals_prevented": 0.9056
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421055,
              "match_date": "2026-08-19",
              "home_team": "Atlético Madrid",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0004,
                "total_shots": 0,
                "total_pass": 28,
                "accurate_pass": 22,
                "ball_recovery": 6,
                "saves": 1,
                "goals_prevented": 0.0174
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 121,
            "combined_rank_score": 112.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 180.0,
            "sofascore_rating": 7.2333,
            "sofascore_appearances": 3.0,
            "fifa_rank": 45.0,
            "fifa_overall": 88.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 7.0523,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jan Oblak",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Viktor Gyökeres",
                  "ranking": 116
                },
                {
                  "player_name": "Matías Zaldivia",
                  "ranking": 117
                },
                {
                  "player_name": "Adrián de la Fuente",
                  "ranking": 118
                },
                {
                  "player_name": "Jaylan Hankins",
                  "ranking": 119
                },
                {
                  "player_name": "Marquinhos",
                  "ranking": 120
                }
              ],
              "lower": [
                {
                  "player_name": "Morgan Rogers",
                  "ranking": 122
                },
                {
                  "player_name": "Joan García",
                  "ranking": 123
                },
                {
                  "player_name": "Bruno Henrique",
                  "ranking": 124
                },
                {
                  "player_name": "Jung Seung-bae",
                  "ranking": 125
                },
                {
                  "player_name": "Alexander Badolato",
                  "ranking": 126
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.78,
          "history_matches": 40,
          "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",
              "passValueNormalized",
              "defensiveValueNormalized",
              "goalkeeperValueNormalized",
              "goalsPrevented",
              "rating",
              "pass_accuracy",
              "long_ball_accuracy",
              "save_contribution",
              "inside_box_save_rate",
              "sweeper_accuracy",
              "sweeper_actions_p90",
              "distribution_accuracy",
              "commanding_index",
              "history_matches"
            ],
            "targets_predicted": [
              "saves",
              "goalsPrevented",
              "rating"
            ],
            "history_matches": 40,
            "data_confidence": 0.78,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0028,
            "fbref_prior_metrics": {
              "squad": "Atlético Madrid",
              "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 40 historical appearances across 3 target models; FBref 2026-2027 prior blended (La Liga, Atlético Madrid, 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": 2.8944,
                "goals_prevented": -0.0255,
                "rating": 7.0523,
                "minutes": 90.0,
                "total_pass": 26.3922,
                "accurate_pass": 19.726,
                "total_long_balls": 10.8004,
                "accurate_long_balls": 4.3018,
                "touches": 35.3045,
                "clearances": 0.4556,
                "ball_recovery": 8.3497,
                "high_claims": 0.4175,
                "punches": 0.6115,
                "aerial_won": 0.083,
                "sweeper_actions": 0.4871,
                "sweeper_accurate": 0.4871,
                "saves_inside_box": 1.5241,
                "possession_lost": 6.8749,
                "duels_won": 0.1423,
                "duels_lost": 0.0031,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0596,
                "total_own_half_passes": 20.0205,
                "accurate_own_half_passes": 17.894
              },
              "trace": {
                "model": {
                  "position_service": "G",
                  "schema_version": 5,
                  "trained_at": "2026-10-30T10:03:31.159511+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 201,
                    "rows": 7335
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1502,
                    "rating": 8.3
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1277,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Deportivo Alavés",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1085,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0923,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0784,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Real Sociedad",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0667,
                    "rating": 7.7
                  },
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0567,
                    "rating": 5.5
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Sevilla",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0482,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-23",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 8.3
                  },
                  {
                    "match_date": "2026-08-19",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0348,
                    "rating": 6.8
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "sweeper_actions_p90": 0.3965,
                  "accurateOwnHalfPasses": 17.8939,
                  "totalLongBalls": 10.8004,
                  "commanding_index": 0.6371,
                  "accurateKeeperSweeper": 0.4871,
                  "distribution_accuracy": 0.8979
                },
                "per_target": [
                  {
                    "target": "saves",
                    "predicted": 2.8943772315979004,
                    "model_output": 2.8944,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0453
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0393
                      },
                      {
                        "name": "save_contribution",
                        "importance": 0.038
                      },
                      {
                        "name": "saves",
                        "importance": 0.0361
                      },
                      {
                        "name": "commanding_index",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 2.9243,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": 0.0157
                        },
                        {
                          "name": "totalPass",
                          "contribution": 0.0128
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.012
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": -0.012
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0107
                        }
                      ],
                      "others": -0.0691,
                      "total": 2.8944,
                      "log_link": true,
                      "margin_base": 1.07304,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": 0.005346
                        },
                        {
                          "name": "totalPass",
                          "margin": 0.00435
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.00406
                        },
                        {
                          "name": "ballRecovery",
                          "margin": -0.004049
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.003608
                        }
                      ],
                      "others_margin": -0.023585
                    }
                  },
                  {
                    "target": "goalsPrevented",
                    "predicted": -0.025512084364891052,
                    "model_output": -0.0255,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "accurateOwnHalfPasses",
                        "importance": 0.0462
                      },
                      {
                        "name": "goalkeeperValueNormalized",
                        "importance": 0.0392
                      },
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0391
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0381
                      },
                      {
                        "name": "punches",
                        "importance": 0.0369
                      }
                    ],
                    "decomposition": {
                      "base": -0.0231,
                      "items": [
                        {
                          "name": "goalkeeperValueNormalized",
                          "contribution": -0.036
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.0155
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0153
                        },
                        {
                          "name": "commanding_index",
                          "contribution": 0.0153
                        },
                        {
                          "name": "sweeper_accuracy",
                          "contribution": -0.0134
                        }
                      ],
                      "others": 0.0009,
                      "total": -0.0255,
                      "log_link": false,
                      "margin_base": -0.023055,
                      "item_margins": [
                        {
                          "name": "goalkeeperValueNormalized",
                          "margin": -0.035981
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.015466
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.015328
                        },
                        {
                          "name": "commanding_index",
                          "margin": 0.015319
                        },
                        {
                          "name": "sweeper_accuracy",
                          "margin": -0.013427
                        }
                      ],
                      "others_margin": 0.000837
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.052287578582764,
                    "model_output": 7.0523,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalLongBalls",
                        "importance": 0.039
                      },
                      {
                        "name": "accurateKeeperSweeper",
                        "importance": 0.0364
                      },
                      {
                        "name": "accurateOwnHalfPasses",
                        "importance": 0.036
                      },
                      {
                        "name": "totalKeeperSweeper",
                        "importance": 0.0357
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0356
                      }
                    ],
                    "decomposition": {
                      "base": 6.9903,
                      "items": [
                        {
                          "name": "accuratePass",
                          "contribution": 0.0462
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.0373
                        },
                        {
                          "name": "punches",
                          "contribution": -0.0156
                        },
                        {
                          "name": "totalOwnHalfPasses",
                          "contribution": 0.0136
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "contribution": -0.0123
                        }
                      ],
                      "others": -0.0072,
                      "total": 7.0523,
                      "log_link": false,
                      "margin_base": 6.99032,
                      "item_margins": [
                        {
                          "name": "accuratePass",
                          "margin": 0.046162
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.037324
                        },
                        {
                          "name": "punches",
                          "margin": -0.015613
                        },
                        {
                          "name": "totalOwnHalfPasses",
                          "margin": 0.01362
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "margin": -0.012336
                        }
                      ],
                      "others_margin": -0.00719
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 40,
                  "role_matches": 40,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0028, quality 0.590)",
              "stats": {
                "saves": 2.9025,
                "goals_prevented": -0.0256,
                "rating": 7.0523,
                "minutes": 90.0,
                "total_pass": 26.4661,
                "accurate_pass": 19.7812,
                "total_long_balls": 10.8306,
                "accurate_long_balls": 4.3138,
                "touches": 35.4034,
                "clearances": 0.4569,
                "ball_recovery": 8.3731,
                "high_claims": 0.4187,
                "punches": 0.6132,
                "aerial_won": 0.0832,
                "sweeper_actions": 0.4885,
                "sweeper_accurate": 0.4885,
                "saves_inside_box": 1.5284,
                "possession_lost": 6.8941,
                "duels_won": 0.1427,
                "duels_lost": 0.0031,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0598,
                "total_own_half_passes": 20.0766,
                "accurate_own_half_passes": 17.9441
              },
              "params": {
                "market_value_eur": 16000000,
                "quality_factor": 0.59,
                "boost_factor": 1.0028,
                "reference_quality": 0.505,
                "history_matches": 40,
                "history_shrink": 0.1111,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0144)",
              "stats": {
                "saves": 2.9039,
                "goals_prevented": -0.0256,
                "rating": 7.0523,
                "minutes": 90.0,
                "total_pass": 26.4661,
                "accurate_pass": 19.7812,
                "total_long_balls": 10.8306,
                "accurate_long_balls": 4.3138,
                "touches": 35.4034,
                "clearances": 0.4569,
                "ball_recovery": 8.3731,
                "high_claims": 0.4187,
                "punches": 0.6132,
                "aerial_won": 0.0832,
                "sweeper_actions": 0.4885,
                "sweeper_accurate": 0.4885,
                "saves_inside_box": 1.5284,
                "possession_lost": 6.8941,
                "duels_won": 0.1427,
                "duels_lost": 0.0031,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0638,
                "total_own_half_passes": 20.0766,
                "accurate_own_half_passes": 17.9441
              },
              "params": {
                "blend_weight": 0.0144,
                "history_matches": 40,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 1.0,
                "prior_reliability": 0.2,
                "competition": "La Liga",
                "squad": "Atlético Madrid"
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 2.9039,
                "goals_prevented": -0.0256,
                "rating": 7.0523,
                "minutes": 90.0,
                "total_pass": 26.4661,
                "accurate_pass": 19.7812,
                "total_long_balls": 10.8306,
                "accurate_long_balls": 4.3138,
                "touches": 35.4034,
                "clearances": 0.4569,
                "ball_recovery": 8.3731,
                "high_claims": 0.4187,
                "punches": 0.6132,
                "aerial_won": 0.0832,
                "sweeper_actions": 0.4885,
                "sweeper_accurate": 0.4885,
                "saves_inside_box": 1.5284,
                "possession_lost": 6.8941,
                "duels_won": 0.1427,
                "duels_lost": 0.0031,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0638,
                "total_own_half_passes": 20.0766,
                "accurate_own_half_passes": 17.9441
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "saves": 2.9039,
                "goals_prevented": -0.0256,
                "rating": 7.0523,
                "minutes": 90.0,
                "total_pass": 26.4661,
                "accurate_pass": 19.7812,
                "total_long_balls": 10.8306,
                "accurate_long_balls": 4.3138,
                "touches": 35.4034,
                "clearances": 0.4569,
                "ball_recovery": 8.3731,
                "high_claims": 0.4187,
                "punches": 0.6132,
                "aerial_won": 0.0832,
                "sweeper_actions": 0.4885,
                "sweeper_accurate": 0.4885,
                "saves_inside_box": 1.5284,
                "possession_lost": 6.8941,
                "duels_won": 0.1427,
                "duels_lost": 0.0031,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0638,
                "total_own_half_passes": 20.0766,
                "accurate_own_half_passes": 17.9441,
                "gk_engine_opponent_lambda": 1.3957,
                "shots_faced": 13.3,
                "expected_saves": 3.26,
                "high_pressure_saves": 1.12,
                "opponent_faced": "Roger Brugué, Iván Romero",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "defensive_duel"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Roger Brugué, Iván Romero",
                  "matchup_zone": "Goalkeeper shot-stopping context",
                  "opponent_lambda": 1.3957
                }
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "saves": 2.9039,
                "goals_prevented": -0.0256,
                "rating": 7.0523,
                "minutes": 90.0,
                "total_pass": 26.4661,
                "accurate_pass": 19.7812,
                "total_long_balls": 10.8306,
                "accurate_long_balls": 4.3138,
                "touches": 35.4034,
                "clearances": 0.4569,
                "ball_recovery": 8.3731,
                "high_claims": 0.4187,
                "punches": 0.6132,
                "aerial_won": 0.0832,
                "sweeper_actions": 0.4885,
                "sweeper_accurate": 0.4885,
                "saves_inside_box": 1.5284,
                "possession_lost": 6.8941,
                "duels_won": 0.1427,
                "duels_lost": 0.0031,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0638,
                "total_own_half_passes": 20.0766,
                "accurate_own_half_passes": 17.9441,
                "gk_engine_opponent_lambda": 1.3957,
                "shots_faced": 13.3,
                "expected_saves": 3.26,
                "high_pressure_saves": 1.12,
                "opponent_faced": "Roger Brugué, Iván Romero",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "defensive_duel",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 2.27 (squad xG sum 1.5979, xG scale 1.4181, xA scale 1.4181, team xA 1.65 = 0.73 x lambda)",
              "stats": {
                "saves": 2.9039,
                "goals_prevented": -0.0256,
                "rating": 7.0523,
                "minutes": 90.0,
                "total_pass": 26.4661,
                "accurate_pass": 19.7812,
                "total_long_balls": 10.8306,
                "accurate_long_balls": 4.3138,
                "touches": 35.4034,
                "clearances": 0.4569,
                "ball_recovery": 8.3731,
                "high_claims": 0.4187,
                "punches": 0.6132,
                "aerial_won": 0.0832,
                "sweeper_actions": 0.4885,
                "sweeper_accurate": 0.4885,
                "saves_inside_box": 1.5284,
                "possession_lost": 6.8941,
                "duels_won": 0.1427,
                "duels_lost": 0.0031,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0638,
                "total_own_half_passes": 20.0766,
                "accurate_own_half_passes": 17.9441,
                "gk_engine_opponent_lambda": 1.3957,
                "shots_faced": 11.3,
                "expected_saves": 2.76,
                "high_pressure_saves": 0.95,
                "opponent_faced": "Roger Brugué, Iván Romero",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "defensive_duel",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0,
                "creation_factor": 1.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0
              },
              "params": {
                "team_lambda": 2.266,
                "squad_xg_sum": 1.5979,
                "squad_xa_sum": 1.1609,
                "team_expected_assists": 1.6463,
                "team_xa_to_xg_ratio": 0.7265,
                "bench_appearance_weighted": true,
                "xg_scale": 1.4181,
                "xa_scale": 1.4181,
                "opponent_lambda": 1.191,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "shots_faced",
                  "before": 13.3,
                  "after": 11.3
                },
                {
                  "stat": "expected_saves",
                  "before": 3.26,
                  "after": 2.76
                },
                {
                  "stat": "high_pressure_saves",
                  "before": 1.12,
                  "after": 0.95
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 4 by projected rating, fifa_overall 88.0)",
              "stats": {
                "saves": 2.9039,
                "goals_prevented": -0.0256,
                "rating": 7.0523,
                "minutes": 90.0,
                "total_pass": 26.4661,
                "accurate_pass": 19.7812,
                "total_long_balls": 10.8306,
                "accurate_long_balls": 4.3138,
                "touches": 35.4034,
                "clearances": 0.4569,
                "ball_recovery": 8.3731,
                "high_claims": 0.4187,
                "punches": 0.6132,
                "aerial_won": 0.0832,
                "sweeper_actions": 0.4885,
                "sweeper_accurate": 0.4885,
                "saves_inside_box": 1.5284,
                "possession_lost": 6.8941,
                "duels_won": 0.1427,
                "duels_lost": 0.0031,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0638,
                "total_own_half_passes": 20.0766,
                "accurate_own_half_passes": 17.9441,
                "gk_engine_opponent_lambda": 1.3957,
                "shots_faced": 11.3,
                "expected_saves": 2.76,
                "high_pressure_saves": 0.95,
                "opponent_faced": "Roger Brugué, Iván Romero",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "defensive_duel",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0,
                "creation_factor": 1.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 88.0
              },
              "params": {
                "match_squad_rank": 4,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 121,
                "fifa_rank": 45.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 88.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "saves": 2.9039,
                "goals_prevented": -0.0256,
                "rating": 7.0523,
                "minutes": 90.0,
                "total_pass": 26.4661,
                "accurate_pass": 19.7812,
                "total_long_balls": 10.8306,
                "accurate_long_balls": 4.3138,
                "touches": 35.4034,
                "clearances": 0.4569,
                "ball_recovery": 8.3731,
                "high_claims": 0.4187,
                "punches": 0.6132,
                "aerial_won": 0.0832,
                "sweeper_actions": 0.4885,
                "sweeper_accurate": 0.4885,
                "saves_inside_box": 1.5284,
                "possession_lost": 6.8941,
                "duels_won": 0.1427,
                "duels_lost": 0.0031,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0638,
                "total_own_half_passes": 20.0766,
                "accurate_own_half_passes": 17.9441,
                "gk_engine_opponent_lambda": 1.3957,
                "shots_faced": 11.3,
                "expected_saves": 2.76,
                "high_pressure_saves": 0.95,
                "opponent_faced": "Roger Brugué, Iván Romero",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "defensive_duel",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0,
                "creation_factor": 1.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 88.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0,
                "scorer_weight": 0.0,
                "squad_weight_total": 2.4769,
                "weight_share": 0.0,
                "finishing_factor": 1.0,
                "appearance_weight": 1.0,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.6971,
                    "already": 0,
                    "effective_weight": 0.6971,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.3346
                  },
                  {
                    "n": 2,
                    "player": "Alex Baena",
                    "weight": 0.3346,
                    "already": 0,
                    "effective_weight": 0.3346,
                    "runner_up": "Kang-in Lee",
                    "runner_up_effective_weight": 0.3062
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "saves": 2.9039,
                "goals_prevented": -0.0256,
                "rating": 7.0523,
                "minutes": 90.0,
                "total_pass": 26.4661,
                "accurate_pass": 19.7812,
                "total_long_balls": 10.8306,
                "accurate_long_balls": 4.3138,
                "touches": 35.4034,
                "clearances": 0.4569,
                "ball_recovery": 8.3731,
                "high_claims": 0.4187,
                "punches": 0.6132,
                "aerial_won": 0.0832,
                "sweeper_actions": 0.4885,
                "sweeper_accurate": 0.4885,
                "saves_inside_box": 1.5284,
                "possession_lost": 6.8941,
                "duels_won": 0.1427,
                "duels_lost": 0.0031,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0638,
                "total_own_half_passes": 20.0766,
                "accurate_own_half_passes": 17.9441,
                "gk_engine_opponent_lambda": 1.3957,
                "shots_faced": 11.3,
                "expected_saves": 2.76,
                "high_pressure_saves": 0.95,
                "opponent_faced": "Roger Brugué, Iván Romero",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "defensive_duel",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0,
                "creation_factor": 1.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 88.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0,
                "provider_weight": 0.0,
                "squad_weight_total": 1.6132,
                "weight_share": 0.0,
                "creation_factor": 1.0,
                "appearance_weight": 1.0,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.257,
                    "already": 0,
                    "effective_weight": 0.257,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.2198
                  }
                ]
              }
            }
          ]
        },
        "Giuliano Simeone": {
          "player_id": 1099352,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 20,
          "height": 173,
          "market_value": 44000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.1751,
            "assist_rate": 0.1073,
            "assists": 0,
            "expected_goals": 0.2754,
            "goal_rate": 0.2024,
            "goals": 0,
            "shots_on_target": 1,
            "total_shots": 2,
            "rating": 7.0004,
            "minutes": 78,
            "total_pass": 37,
            "accurate_pass": 30,
            "duels_won": 6,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 13,
            "accurate_own_half_passes": 11,
            "total_opp_half_passes": 24,
            "accurate_opp_half_passes": 19,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 54,
            "possession_lost": 12.7867,
            "dispossessed": 1.1152,
            "duels_lost": 5,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 1,
            "total_contest": 2,
            "won_contest": 1,
            "challenges_lost": 2,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.1665,
            "ball_carries": 14,
            "total_progression": 43,
            "progressive_carries": 2,
            "shots_off_target": 1,
            "duel_xg_multiplier": 1.248,
            "dribbles_attempted": 2,
            "dribbles_successful": 1.0,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.569,
            "pressing_faced": "LOW",
            "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
            "numerical_situation": "1v1",
            "opponent_defenders": "Oriol Rey",
            "opponent_faced": "Oriol Rey",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.2407,
            "projected_assists": 0,
            "assist_probability": 0.1606,
            "finishing_factor": 1.0336,
            "creation_factor": 0.9066,
            "fifa_overall": 81.0
          },
          "latest_10_games": [
            {
              "match_id": 16421082,
              "match_date": "2026-10-24",
              "home_team": "Atlético Madrid",
              "away_team": "Deportivo de A Coruña",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 45,
                "rating": 7.1,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1679,
                "expected_assists": 0.0782,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 21,
                "accurate_pass": 19,
                "key_pass": 2,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 1,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 6,
                "ball_recovery": 0,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421071,
              "match_date": "2026-10-17",
              "home_team": "Espanyol",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0175,
                "expected_assists": 0.4731,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 51,
                "accurate_pass": 42,
                "key_pass": 2,
                "tackles": 1,
                "clearances": 1,
                "aerial_won": 3,
                "duels_won": 7,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo Alavés",
              "stats": {
                "minutes": 73,
                "rating": 7.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0296,
                "expected_assists": 0.3532,
                "total_shots": 1,
                "total_pass": 36,
                "accurate_pass": 32,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 2,
                "aerial_won": 2,
                "duels_won": 7,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416339,
              "match_date": "2026-09-20",
              "home_team": "Atlético Madrid",
              "away_team": "Real Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.0422,
                "expected_assists": 0.2204,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 41,
                "accurate_pass": 31,
                "key_pass": 1,
                "tackles": 4,
                "tackles_won": 3,
                "interceptions": 1,
                "clearances": 2,
                "duels_won": 7,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416335,
              "match_date": "2026-09-16",
              "home_team": "Atlético Madrid",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 22,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0043,
                "total_shots": 0,
                "total_pass": 13,
                "accurate_pass": 12,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416332,
              "match_date": "2026-09-13",
              "home_team": "Real Sociedad",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 90,
                "rating": 8.0,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.6425,
                "expected_assists": 0.0144,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 38,
                "accurate_pass": 25,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 3,
                "duels_won": 8,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416317,
              "match_date": "2026-09-05",
              "home_team": "Athletic Club",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 59,
                "rating": 5.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0505,
                "expected_assists": 0.1149,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 34,
                "accurate_pass": 28,
                "key_pass": 1,
                "clearances": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0061,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 20,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 3,
                "clearances": 1,
                "aerial_won": 4,
                "duels_won": 9,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416302,
              "match_date": "2026-08-23",
              "home_team": "Atlético Madrid",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 7.8,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.2677,
                "expected_assists": 0.0438,
                "total_shots": 4,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 36,
                "accurate_pass": 29,
                "key_pass": 2,
                "tackles": 5,
                "tackles_won": 3,
                "duels_won": 6,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421055,
              "match_date": "2026-08-19",
              "home_team": "Atlético Madrid",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 33,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0135,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 17,
                "key_pass": 1,
                "interceptions": 1,
                "aerial_won": 4,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 957,
            "combined_rank_score": 510.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 443.0,
            "sofascore_rating": 6.9065,
            "sofascore_appearances": 31.0,
            "fifa_rank": 578.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "starter",
            "ranking_match": "player_id",
            "projected_match_rating": 7.0004,
            "source_file": "data/player_rankings.csv",
            "player_name": "Giuliano Simeone",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Seung-jae Lee",
                  "ranking": 952
                },
                {
                  "player_name": "Hyun-Jun Suk",
                  "ranking": 953
                },
                {
                  "player_name": "Theo Hernández",
                  "ranking": 954
                },
                {
                  "player_name": "Moussa Diaby",
                  "ranking": 955
                },
                {
                  "player_name": "Eduardo Camavinga",
                  "ranking": 956
                }
              ],
              "lower": [
                {
                  "player_name": "Gerónimo Rulli",
                  "ranking": 958
                },
                {
                  "player_name": "Mohamed Simakan",
                  "ranking": 959
                },
                {
                  "player_name": "Nico González",
                  "ranking": 960
                },
                {
                  "player_name": "Gonçalo Guedes",
                  "ranking": 961
                },
                {
                  "player_name": "Samuel Klein",
                  "ranking": 962
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.774,
          "history_matches": 41,
          "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",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "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",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 41,
            "data_confidence": 0.774,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0096,
            "fbref_prior_metrics": {
              "squad": "Atlético Madrid",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 2.0,
              "minutes": 214.0,
              "goals_per90": 0.4166666666666667,
              "assists_per90": 0.4166666666666667,
              "shots_per90": 1.68,
              "shots_on_target_pct": 25.0,
              "prior_reliability": 0.16
            },
            "rationale": "XGBoost regressor (M_service) evaluated 41 historical appearances across 8 target models; FBref 2026-2027 prior blended (La Liga, Atlético Madrid, rel: 0.16, gls/90: 0.4166666666666667, ast/90: 0.4166666666666667)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 1.214,
                "expected_assists": 0.1223,
                "assists": 0.1034,
                "assist_rate": 0.1034,
                "expected_goals": 0.1542,
                "goals": 0.1584,
                "goal_rate": 0.1584,
                "shots_on_target": 0.5429,
                "total_shots": 1.4025,
                "rating": 7.0004,
                "minutes": 78.17,
                "total_pass": 36.3717,
                "accurate_pass": 29.2371,
                "duels_won": 5.6107,
                "total_long_balls": 0.6932,
                "accurate_long_balls": 0.3643,
                "total_own_half_passes": 12.8114,
                "accurate_own_half_passes": 10.8691,
                "total_opp_half_passes": 23.5603,
                "accurate_opp_half_passes": 18.3681,
                "crosses_total": 1.3952,
                "crosses_accurate": 0.4792,
                "touches": 53.2663,
                "possession_lost": 12.6651,
                "dispossessed": 1.1046,
                "duels_lost": 5.4426,
                "aerial_won": 1.4756,
                "aerial_lost": 0.7771,
                "interceptions": 0.5504,
                "tackles_won": 1.368,
                "tackles": 2.1188,
                "clearances": 0.7042,
                "total_contest": 1.9266,
                "won_contest": 0.7078,
                "challenges_lost": 1.6119,
                "fouls": 0.8819,
                "fouls_drawn": 1.3085,
                "blocks": 0.119,
                "big_chances_created": 0.3493,
                "big_chances_missed": 0.0856,
                "xgot": 0.0932,
                "ball_carries": 13.8292,
                "total_progression": 42.4838,
                "progressive_carries": 1.8556,
                "shots_off_target": 0.8596
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.1502,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1277,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Deportivo Alavés",
                    "minutes": 73.0,
                    "is_starting": true,
                    "weight": 0.1085,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0922,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Osasuna",
                    "minutes": 22.0,
                    "is_starting": false,
                    "weight": 0.0784,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Real Sociedad",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0666,
                    "rating": 8.0
                  },
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Athletic Club",
                    "minutes": 59.0,
                    "is_starting": true,
                    "weight": 0.0566,
                    "rating": 5.7
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Sevilla",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0481,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-08-23",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0409,
                    "rating": 7.8
                  },
                  {
                    "match_date": "2026-08-19",
                    "opponent": "Málaga CF",
                    "minutes": 33.0,
                    "is_starting": false,
                    "weight": 0.0348,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 1.0,
                  "totalShots": 1.1985,
                  "creative_index": 0.5761,
                  "expectedGoals": 0.1175,
                  "expectedAssists": 0.1666,
                  "totalOppositionHalfPasses": 21.0399
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 1.2140105962753296,
                    "model_output": 1.214,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1154
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.12
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.104
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.057
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": -0.0287
                        }
                      ],
                      "others": 0.07,
                      "total": 1.214,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": 0.121908
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.112727
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.088351
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.047449
                        },
                        {
                          "name": "cross_creative_contribution",
                          "margin": -0.024799
                        }
                      ],
                      "others_margin": 0.059417
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.12233731895685196,
                    "model_output": 0.1223,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0157
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0138
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0071
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0051
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0047
                        }
                      ],
                      "others": 0.0154,
                      "total": 0.1223,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "expectedAssists",
                          "margin": 0.169167
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.12852
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.064368
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.048299
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.044585
                        }
                      ],
                      "others_margin": 0.1352
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.10342717915773392,
                    "model_output": 0.1034,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "totalCross",
                          "contribution": 0.0073
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0068
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0064
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0059
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0054
                        }
                      ],
                      "others": 0.0092,
                      "total": 0.1034,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "totalCross",
                          "margin": 0.082158
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.071058
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.062633
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.057889
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.056052
                        }
                      ],
                      "others_margin": 0.09404
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.15415726602077484,
                    "model_output": 0.1542,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0224
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0148
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.016
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.01
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.0036
                        }
                      ],
                      "others": -0.004,
                      "total": 0.1542,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "expectedGoals",
                          "margin": 0.219156
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.122281
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.116915
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.0667
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.023143
                        }
                      ],
                      "others_margin": -0.025798
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.15841402113437653,
                    "model_output": 0.1584,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.0219
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0142
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0086
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0068
                        },
                        {
                          "name": "creative_efficiency",
                          "contribution": 0.0065
                        }
                      ],
                      "others": 0.0054,
                      "total": 0.1584,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.207739
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.114435
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.063477
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.047679
                        },
                        {
                          "name": "creative_efficiency",
                          "margin": 0.043298
                        }
                      ],
                      "others_margin": 0.03486
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.5429421067237854,
                    "model_output": 0.5429,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.083
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0584
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0331
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0266
                        },
                        {
                          "name": "progressive_carries_p90",
                          "contribution": 0.0092
                        }
                      ],
                      "others": 0.0143,
                      "total": 0.5429,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.231758
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.13583
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.069609
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.052538
                        },
                        {
                          "name": "progressive_carries_p90",
                          "margin": 0.017515
                        }
                      ],
                      "others_margin": 0.02677
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 1.4024988412857056,
                    "model_output": 1.4025,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.1706
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.1666
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0444
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0213
                        },
                        {
                          "name": "totalPass",
                          "contribution": -0.0163
                        }
                      ],
                      "others": 0.0318,
                      "total": 1.4025,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.170604
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.16659
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.044363
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.021289
                        },
                        {
                          "name": "totalPass",
                          "margin": -0.016303
                        }
                      ],
                      "others_margin": 0.031847
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 7.000434875488281,
                    "model_output": 7.0004,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "rating",
                          "contribution": 0.0744
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": 0.0294
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0162
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0145
                        },
                        {
                          "name": "creative_efficiency",
                          "contribution": 0.0134
                        }
                      ],
                      "others": -0.0027,
                      "total": 7.0004,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "rating",
                          "margin": 0.074354
                        },
                        {
                          "name": "is_starting_11",
                          "margin": 0.0294
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.016166
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.014528
                        },
                        {
                          "name": "creative_efficiency",
                          "margin": 0.013395
                        }
                      ],
                      "others_margin": -0.002602
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "starter",
                  "history_matches": 41,
                  "role_matches": 32,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0096, quality 0.800)",
              "stats": {
                "key_pass": 1.2257,
                "expected_assists": 0.1235,
                "assists": 0.1044,
                "assist_rate": 0.1044,
                "expected_goals": 0.1556,
                "goals": 0.1599,
                "goal_rate": 0.1599,
                "shots_on_target": 0.5482,
                "total_shots": 1.4161,
                "rating": 7.0004,
                "minutes": 78.17,
                "total_pass": 36.7209,
                "accurate_pass": 29.5178,
                "duels_won": 5.6646,
                "total_long_balls": 0.6999,
                "accurate_long_balls": 0.3678,
                "total_own_half_passes": 12.9344,
                "accurate_own_half_passes": 10.9734,
                "total_opp_half_passes": 23.7865,
                "accurate_opp_half_passes": 18.5444,
                "crosses_total": 1.4086,
                "crosses_accurate": 0.4838,
                "touches": 53.7777,
                "possession_lost": 12.7867,
                "dispossessed": 1.1152,
                "duels_lost": 5.4948,
                "aerial_won": 1.4898,
                "aerial_lost": 0.7846,
                "interceptions": 0.5557,
                "tackles_won": 1.3811,
                "tackles": 2.1391,
                "clearances": 0.711,
                "total_contest": 1.9451,
                "won_contest": 0.7146,
                "challenges_lost": 1.6274,
                "fouls": 0.8904,
                "fouls_drawn": 1.3211,
                "blocks": 0.1201,
                "big_chances_created": 0.3527,
                "big_chances_missed": 0.0864,
                "xgot": 0.0941,
                "ball_carries": 13.962,
                "total_progression": 42.8916,
                "progressive_carries": 1.8734,
                "shots_off_target": 0.8679
              },
              "params": {
                "market_value_eur": 44000000,
                "quality_factor": 0.8002,
                "boost_factor": 1.0096,
                "reference_quality": 0.505,
                "history_matches": 41,
                "history_shrink": 0.1087,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0113)",
              "stats": {
                "key_pass": 1.2257,
                "expected_assists": 0.1235,
                "assists": 0.1073,
                "assist_rate": 0.1073,
                "expected_goals": 0.1556,
                "goals": 0.1622,
                "goal_rate": 0.1622,
                "shots_on_target": 0.5461,
                "total_shots": 1.4166,
                "rating": 7.0004,
                "minutes": 78.17,
                "total_pass": 36.7209,
                "accurate_pass": 29.5178,
                "duels_won": 5.6646,
                "total_long_balls": 0.6999,
                "accurate_long_balls": 0.3678,
                "total_own_half_passes": 12.9344,
                "accurate_own_half_passes": 10.9734,
                "total_opp_half_passes": 23.7865,
                "accurate_opp_half_passes": 18.5444,
                "crosses_total": 1.4049,
                "crosses_accurate": 0.4838,
                "touches": 53.7777,
                "possession_lost": 12.7867,
                "dispossessed": 1.1152,
                "duels_lost": 5.4948,
                "aerial_won": 1.4898,
                "aerial_lost": 0.7846,
                "interceptions": 0.5658,
                "tackles_won": 1.3859,
                "tackles": 2.1391,
                "clearances": 0.711,
                "total_contest": 1.9451,
                "won_contest": 0.7146,
                "challenges_lost": 1.6274,
                "fouls": 0.8885,
                "fouls_drawn": 1.3184,
                "blocks": 0.1201,
                "big_chances_created": 0.3527,
                "big_chances_missed": 0.0864,
                "xgot": 0.0941,
                "ball_carries": 13.962,
                "total_progression": 42.8916,
                "progressive_carries": 1.8734,
                "shots_off_target": 0.8679
              },
              "params": {
                "blend_weight": 0.0113,
                "history_matches": 41,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.8686,
                "prior_reliability": 0.16,
                "competition": "La Liga",
                "squad": "Atlético Madrid"
              },
              "changes": [
                {
                  "stat": "interceptionWon",
                  "before": 0.5557,
                  "after": 0.5658
                }
              ]
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1.2257,
                "expected_assists": 0.1235,
                "assists": 0.1073,
                "assist_rate": 0.1073,
                "expected_goals": 0.1556,
                "goals": 0.1622,
                "goal_rate": 0.1622,
                "shots_on_target": 0.5461,
                "total_shots": 1.4166,
                "rating": 7.0004,
                "minutes": 78.17,
                "total_pass": 36.7209,
                "accurate_pass": 29.5178,
                "duels_won": 5.6646,
                "total_long_balls": 0.6999,
                "accurate_long_balls": 0.3678,
                "total_own_half_passes": 12.9344,
                "accurate_own_half_passes": 10.9734,
                "total_opp_half_passes": 23.7865,
                "accurate_opp_half_passes": 18.5444,
                "crosses_total": 1.4049,
                "crosses_accurate": 0.4838,
                "touches": 53.7777,
                "possession_lost": 12.7867,
                "dispossessed": 1.1152,
                "duels_lost": 5.4948,
                "aerial_won": 1.4898,
                "aerial_lost": 0.7846,
                "interceptions": 0.5658,
                "tackles_won": 1.3859,
                "tackles": 2.1391,
                "clearances": 0.711,
                "total_contest": 1.9451,
                "won_contest": 0.7146,
                "challenges_lost": 1.6274,
                "fouls": 0.8885,
                "fouls_drawn": 1.3184,
                "blocks": 0.1201,
                "big_chances_created": 0.3527,
                "big_chances_missed": 0.0864,
                "xgot": 0.0941,
                "ball_carries": 13.962,
                "total_progression": 42.8916,
                "progressive_carries": 1.8734,
                "shots_off_target": 0.8679
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1.2257,
                "expected_assists": 0.1235,
                "assists": 0.1073,
                "assist_rate": 0.1073,
                "expected_goals": 0.1942,
                "goals": 0.2024,
                "goal_rate": 0.2024,
                "shots_on_target": 0.6815,
                "total_shots": 1.7679,
                "rating": 7.0004,
                "minutes": 78.17,
                "total_pass": 36.7209,
                "accurate_pass": 29.5178,
                "duels_won": 5.6646,
                "total_long_balls": 0.6999,
                "accurate_long_balls": 0.3678,
                "total_own_half_passes": 12.9344,
                "accurate_own_half_passes": 10.9734,
                "total_opp_half_passes": 23.7865,
                "accurate_opp_half_passes": 18.5444,
                "crosses_total": 1.4049,
                "crosses_accurate": 0.4838,
                "touches": 53.7777,
                "possession_lost": 12.7867,
                "dispossessed": 1.1152,
                "duels_lost": 5.4948,
                "aerial_won": 0.9,
                "aerial_lost": 0.7846,
                "interceptions": 0.5658,
                "tackles_won": 1.3859,
                "tackles": 2.1391,
                "clearances": 0.711,
                "total_contest": 1.9451,
                "won_contest": 0.7146,
                "challenges_lost": 1.6274,
                "fouls": 0.8885,
                "fouls_drawn": 1.3184,
                "blocks": 0.1201,
                "big_chances_created": 0.3527,
                "big_chances_missed": 0.1078,
                "xgot": 0.1174,
                "ball_carries": 13.962,
                "total_progression": 42.8916,
                "progressive_carries": 1.8734,
                "shots_off_target": 1.0831,
                "duel_xg_multiplier": 1.248,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 1.0,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.569,
                "pressing_faced": "LOW",
                "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Oriol Rey",
                "opponent_faced": "Oriol Rey",
                "antagonist_source": "attacking_duel, midfield_pairing"
              },
              "params": {
                "duel_context_applied": true,
                "duel_context": {
                  "opponent_faced": "Oriol Rey",
                  "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                  "duel_win_rate": 0.569,
                  "pressing_faced": "LOW",
                  "numerical_situation": "1v1",
                  "xg_multiplier": 1.248,
                  "skill_edge": 0.1767,
                  "height_edge": -0.008,
                  "attacker_skill": 0.8301,
                  "defender_skill": 0.4374,
                  "attacker_role": "CDM",
                  "attacker_mv_price_index": 0.85,
                  "defender_adjusted_parts": [
                    {
                      "player": "Oriol Rey",
                      "market_value": 1700000,
                      "role": "CM",
                      "price_index": 0.9,
                      "adjusted_quality": 0.4374
                    }
                  ],
                  "xg_override": 0.1942
                }
              },
              "changes": [
                {
                  "stat": "aerialWon",
                  "before": 1.4898,
                  "after": 0.9
                },
                {
                  "stat": "totalShots",
                  "before": 1.4166,
                  "after": 1.7679
                },
                {
                  "stat": "shotOffTarget",
                  "before": 0.8679,
                  "after": 1.0831
                },
                {
                  "stat": "onTargetScoringAttempt",
                  "before": 0.5461,
                  "after": 0.6815
                },
                {
                  "stat": "goals",
                  "before": 0.1622,
                  "after": 0.2024
                },
                {
                  "stat": "expectedGoals",
                  "before": 0.1556,
                  "after": 0.1942
                },
                {
                  "stat": "expectedGoalsOnTarget",
                  "before": 0.0941,
                  "after": 0.1174
                },
                {
                  "stat": "bigChanceMissed",
                  "before": 0.0864,
                  "after": 0.1078
                }
              ]
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 1.2257,
                "expected_assists": 0.1235,
                "assist_rate": 0.1073,
                "assists": 0,
                "expected_goals": 0.1942,
                "goal_rate": 0.2024,
                "goals": 0,
                "shots_on_target": 0.6815,
                "total_shots": 1.7679,
                "rating": 7.0004,
                "minutes": 78.17,
                "total_pass": 36.7209,
                "accurate_pass": 29.5178,
                "duels_won": 5.6646,
                "total_long_balls": 0.6999,
                "accurate_long_balls": 0.3678,
                "total_own_half_passes": 12.9344,
                "accurate_own_half_passes": 10.9734,
                "total_opp_half_passes": 23.7865,
                "accurate_opp_half_passes": 18.5444,
                "crosses_total": 1.4049,
                "crosses_accurate": 0.4838,
                "touches": 53.7777,
                "possession_lost": 12.7867,
                "dispossessed": 1.1152,
                "duels_lost": 5.4948,
                "aerial_won": 0.9,
                "aerial_lost": 0.7846,
                "interceptions": 0.5658,
                "tackles_won": 1.3859,
                "tackles": 2.1391,
                "clearances": 0.711,
                "total_contest": 1.9451,
                "won_contest": 0.7146,
                "challenges_lost": 1.6274,
                "fouls": 0.8885,
                "fouls_drawn": 1.3184,
                "blocks": 0.1201,
                "big_chances_created": 0.3527,
                "big_chances_missed": 0.1078,
                "xgot": 0.1174,
                "ball_carries": 13.962,
                "total_progression": 42.8916,
                "progressive_carries": 1.8734,
                "shots_off_target": 1.0831,
                "duel_xg_multiplier": 1.248,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 1.0,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.569,
                "pressing_faced": "LOW",
                "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Oriol Rey",
                "opponent_faced": "Oriol Rey",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 2.27 (squad xG sum 1.5979, xG scale 1.4181, xA scale 1.4181, team xA 1.65 = 0.73 x lambda)",
              "stats": {
                "key_pass": 1.2257,
                "expected_assists": 0.1751,
                "assist_rate": 0.1073,
                "assists": 0,
                "expected_goals": 0.2754,
                "goal_rate": 0.2024,
                "goals": 0,
                "shots_on_target": 0.6815,
                "total_shots": 1.7679,
                "rating": 7.0004,
                "minutes": 78.17,
                "total_pass": 36.7209,
                "accurate_pass": 29.5178,
                "duels_won": 5.6646,
                "total_long_balls": 0.6999,
                "accurate_long_balls": 0.3678,
                "total_own_half_passes": 12.9344,
                "accurate_own_half_passes": 10.9734,
                "total_opp_half_passes": 23.7865,
                "accurate_opp_half_passes": 18.5444,
                "crosses_total": 1.4049,
                "crosses_accurate": 0.4838,
                "touches": 53.7777,
                "possession_lost": 12.7867,
                "dispossessed": 1.1152,
                "duels_lost": 5.4948,
                "aerial_won": 0.9,
                "aerial_lost": 0.7846,
                "interceptions": 0.5658,
                "tackles_won": 1.3859,
                "tackles": 2.1391,
                "clearances": 0.711,
                "total_contest": 1.9451,
                "won_contest": 0.7146,
                "challenges_lost": 1.6274,
                "fouls": 0.8885,
                "fouls_drawn": 1.3184,
                "blocks": 0.1201,
                "big_chances_created": 0.3527,
                "big_chances_missed": 0.1078,
                "xgot": 0.1665,
                "ball_carries": 13.962,
                "total_progression": 42.8916,
                "progressive_carries": 1.8734,
                "shots_off_target": 1.0831,
                "duel_xg_multiplier": 1.248,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 1.0,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.569,
                "pressing_faced": "LOW",
                "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Oriol Rey",
                "opponent_faced": "Oriol Rey",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0336,
                "creation_factor": 0.9066
              },
              "params": {
                "team_lambda": 2.266,
                "squad_xg_sum": 1.5979,
                "squad_xa_sum": 1.1609,
                "team_expected_assists": 1.6463,
                "team_xa_to_xg_ratio": 0.7265,
                "bench_appearance_weighted": true,
                "xg_scale": 1.4181,
                "xa_scale": 1.4181,
                "opponent_lambda": 1.191,
                "scoreline_reset": true,
                "appearance_weight": 1.0
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.1942,
                  "after": 0.2754
                },
                {
                  "stat": "expected_assists",
                  "before": 0.1235,
                  "after": 0.1751
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 9 by projected rating, fifa_overall 81.0)",
              "stats": {
                "key_pass": 1.2257,
                "expected_assists": 0.1751,
                "assist_rate": 0.1073,
                "assists": 0,
                "expected_goals": 0.2754,
                "goal_rate": 0.2024,
                "goals": 0,
                "shots_on_target": 0.6815,
                "total_shots": 1.7679,
                "rating": 7.0004,
                "minutes": 78.17,
                "total_pass": 36.7209,
                "accurate_pass": 29.5178,
                "duels_won": 5.6646,
                "total_long_balls": 0.6999,
                "accurate_long_balls": 0.3678,
                "total_own_half_passes": 12.9344,
                "accurate_own_half_passes": 10.9734,
                "total_opp_half_passes": 23.7865,
                "accurate_opp_half_passes": 18.5444,
                "crosses_total": 1.4049,
                "crosses_accurate": 0.4838,
                "touches": 53.7777,
                "possession_lost": 12.7867,
                "dispossessed": 1.1152,
                "duels_lost": 5.4948,
                "aerial_won": 0.9,
                "aerial_lost": 0.7846,
                "interceptions": 0.5658,
                "tackles_won": 1.3859,
                "tackles": 2.1391,
                "clearances": 0.711,
                "total_contest": 1.9451,
                "won_contest": 0.7146,
                "challenges_lost": 1.6274,
                "fouls": 0.8885,
                "fouls_drawn": 1.3184,
                "blocks": 0.1201,
                "big_chances_created": 0.3527,
                "big_chances_missed": 0.1078,
                "xgot": 0.1665,
                "ball_carries": 13.962,
                "total_progression": 42.8916,
                "progressive_carries": 1.8734,
                "shots_off_target": 1.0831,
                "duel_xg_multiplier": 1.248,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 1.0,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.569,
                "pressing_faced": "LOW",
                "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Oriol Rey",
                "opponent_faced": "Oriol Rey",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0336,
                "creation_factor": 0.9066,
                "fifa_overall": 81.0
              },
              "params": {
                "match_squad_rank": 9,
                "squad_role": "starter",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 957,
                "fifa_rank": 578.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 81.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 1.2257,
                "expected_assists": 0.1751,
                "assist_rate": 0.1073,
                "assists": 0,
                "expected_goals": 0.2754,
                "goal_rate": 0.2024,
                "goals": 0,
                "shots_on_target": 0.6815,
                "total_shots": 1.7679,
                "rating": 7.0004,
                "minutes": 78.17,
                "total_pass": 36.7209,
                "accurate_pass": 29.5178,
                "duels_won": 5.6646,
                "total_long_balls": 0.6999,
                "accurate_long_balls": 0.3678,
                "total_own_half_passes": 12.9344,
                "accurate_own_half_passes": 10.9734,
                "total_opp_half_passes": 23.7865,
                "accurate_opp_half_passes": 18.5444,
                "crosses_total": 1.4049,
                "crosses_accurate": 0.4838,
                "touches": 53.7777,
                "possession_lost": 12.7867,
                "dispossessed": 1.1152,
                "duels_lost": 5.4948,
                "aerial_won": 0.9,
                "aerial_lost": 0.7846,
                "interceptions": 0.5658,
                "tackles_won": 1.3859,
                "tackles": 2.1391,
                "clearances": 0.711,
                "total_contest": 1.9451,
                "won_contest": 0.7146,
                "challenges_lost": 1.6274,
                "fouls": 0.8885,
                "fouls_drawn": 1.3184,
                "blocks": 0.1201,
                "big_chances_created": 0.3527,
                "big_chances_missed": 0.1078,
                "xgot": 0.1665,
                "ball_carries": 13.962,
                "total_progression": 42.8916,
                "progressive_carries": 1.8734,
                "shots_off_target": 1.0831,
                "duel_xg_multiplier": 1.248,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 1.0,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.569,
                "pressing_faced": "LOW",
                "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Oriol Rey",
                "opponent_faced": "Oriol Rey",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.2407,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0336,
                "creation_factor": 0.9066,
                "fifa_overall": 81.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.2407,
                "goal_rate": 0.2024,
                "scorer_weight": 0.2847,
                "squad_weight_total": 2.4769,
                "weight_share": 0.1149,
                "finishing_factor": 1.0336,
                "appearance_weight": 1.0,
                "weight_rank": 4,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.6971,
                    "already": 0,
                    "effective_weight": 0.6971,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.3346
                  },
                  {
                    "n": 2,
                    "player": "Alex Baena",
                    "weight": 0.3346,
                    "already": 0,
                    "effective_weight": 0.3346,
                    "runner_up": "Kang-in Lee",
                    "runner_up_effective_weight": 0.3062
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 1.2257,
                "expected_assists": 0.1751,
                "assist_rate": 0.1073,
                "assists": 0,
                "expected_goals": 0.2754,
                "goal_rate": 0.2024,
                "goals": 0,
                "shots_on_target": 0.6815,
                "total_shots": 1.7679,
                "rating": 7.0004,
                "minutes": 78.17,
                "total_pass": 36.7209,
                "accurate_pass": 29.5178,
                "duels_won": 5.6646,
                "total_long_balls": 0.6999,
                "accurate_long_balls": 0.3678,
                "total_own_half_passes": 12.9344,
                "accurate_own_half_passes": 10.9734,
                "total_opp_half_passes": 23.7865,
                "accurate_opp_half_passes": 18.5444,
                "crosses_total": 1.4049,
                "crosses_accurate": 0.4838,
                "touches": 53.7777,
                "possession_lost": 12.7867,
                "dispossessed": 1.1152,
                "duels_lost": 5.4948,
                "aerial_won": 0.9,
                "aerial_lost": 0.7846,
                "interceptions": 0.5658,
                "tackles_won": 1.3859,
                "tackles": 2.1391,
                "clearances": 0.711,
                "total_contest": 1.9451,
                "won_contest": 0.7146,
                "challenges_lost": 1.6274,
                "fouls": 0.8885,
                "fouls_drawn": 1.3184,
                "blocks": 0.1201,
                "big_chances_created": 0.3527,
                "big_chances_missed": 0.1078,
                "xgot": 0.1665,
                "ball_carries": 13.962,
                "total_progression": 42.8916,
                "progressive_carries": 1.8734,
                "shots_off_target": 1.0831,
                "duel_xg_multiplier": 1.248,
                "dribbles_attempted": 2.0,
                "dribbles_successful": 1.0,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.569,
                "pressing_faced": "LOW",
                "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Oriol Rey",
                "opponent_faced": "Oriol Rey",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.2407,
                "projected_assists": 0,
                "assist_probability": 0.1606,
                "finishing_factor": 1.0336,
                "creation_factor": 0.9066,
                "fifa_overall": 81.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.1606,
                "assist_rate": 0.1073,
                "provider_weight": 0.1587,
                "squad_weight_total": 1.6132,
                "weight_share": 0.0984,
                "creation_factor": 0.9066,
                "appearance_weight": 1.0,
                "weight_rank": 6,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.257,
                    "already": 0,
                    "effective_weight": 0.257,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.2198
                  }
                ]
              }
            }
          ]
        }
      },
      "bench_players": {
        "Juan Musso": {
          "player_id": 263651,
          "position": "G",
          "position_depth": "G_BENCH",
          "is_starter": false,
          "shirt_number": 1,
          "height": 191,
          "market_value": 3200000,
          "stats": {
            "saves": 0,
            "goals_prevented": -0.0056,
            "rating": 6.9029,
            "minutes": 4,
            "total_pass": 4,
            "accurate_pass": 3,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "touches": 6,
            "clearances": 0,
            "ball_recovery": 2,
            "high_claims": 0,
            "punches": 0.1192,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 0,
            "possession_lost": 1.069,
            "duels_won": 0,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 3,
            "accurate_own_half_passes": 3,
            "bench_appearance_probability": 0.109,
            "bench_expected_minutes": 4.4,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.324,
            "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": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 14083735,
              "match_date": "2026-05-24",
              "home_team": "Villarreal",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 5.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 18,
                "accurate_pass": 17,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 11,
                "saves": 3,
                "goals_prevented": -1.5578
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083634,
              "match_date": "2026-05-12",
              "home_team": "Osasuna",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 8.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0018,
                "total_shots": 0,
                "total_pass": 39,
                "accurate_pass": 25,
                "clearances": 2,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 13,
                "saves": 4,
                "goals_prevented": 0.201
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083476,
              "match_date": "2026-05-02",
              "home_team": "Valencia",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0007,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 25,
                "aerial_won": 2,
                "duels_won": 2,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083161,
              "match_date": "2026-04-11",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0043,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 22,
                "ball_recovery": 13,
                "goals_prevented": -0.7825
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14081810,
              "match_date": "2026-04-04",
              "home_team": "Atlético Madrid",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0003,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 17,
                "clearances": 2,
                "ball_recovery": 11,
                "saves": 6,
                "goals_prevented": 0.3665
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14081807,
              "match_date": "2026-03-22",
              "home_team": "Real Madrid",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0004,
                "total_shots": 0,
                "total_pass": 20,
                "accurate_pass": 15,
                "ball_recovery": 8,
                "saves": 5,
                "goals_prevented": -1.2567
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083612,
              "match_date": "2026-03-14",
              "home_team": "Atlético Madrid",
              "away_team": "Getafe",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Getafe",
              "stats": {
                "minutes": 90,
                "rating": 8.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0003,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 22,
                "duels_won": 1,
                "ball_recovery": 9,
                "saves": 3,
                "goals_prevented": 1.1327
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083131,
              "match_date": "2025-11-23",
              "home_team": "Getafe",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Getafe",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.001,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 25,
                "clearances": 1,
                "ball_recovery": 7,
                "saves": 1,
                "goals_prevented": 0.0135
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 315,
            "combined_rank_score": 216.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 21.0,
            "sofascore_rating": 8.1,
            "sofascore_appearances": 4.0,
            "fifa_rank": 411.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.9029,
            "source_file": "data/player_rankings.csv",
            "player_name": "Juan Musso",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Josh Wilson-Esbrand",
                  "ranking": 310
                },
                {
                  "player_name": "Choi Jun-yeong",
                  "ranking": 311
                },
                {
                  "player_name": "Wladimiro Falcone",
                  "ranking": 312
                },
                {
                  "player_name": "Morgan Gibbs-White",
                  "ranking": 313
                },
                {
                  "player_name": "Bojan Ciger",
                  "ranking": 314
                }
              ],
              "lower": [
                {
                  "player_name": "Ju-kong Kim",
                  "ranking": 316
                },
                {
                  "player_name": "Jae-yong Bak",
                  "ranking": 317
                },
                {
                  "player_name": "Bryan Mbeumo",
                  "ranking": 318
                },
                {
                  "player_name": "Sandzhar Kuvvatov",
                  "ranking": 319
                },
                {
                  "player_name": "Jon Ander Olasagasti",
                  "ranking": 320
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 8,
          "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",
              "passValueNormalized",
              "defensiveValueNormalized",
              "goalkeeperValueNormalized",
              "goalsPrevented",
              "rating",
              "pass_accuracy",
              "long_ball_accuracy",
              "save_contribution",
              "inside_box_save_rate",
              "sweeper_accuracy",
              "sweeper_actions_p90",
              "distribution_accuracy",
              "commanding_index",
              "history_matches"
            ],
            "targets_predicted": [
              "saves",
              "goalsPrevented",
              "rating"
            ],
            "history_matches": 8,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 4.40206294284004,
            "bench_appearance_prob": 0.10918467922000183,
            "market_value_adjustment": 0.9925,
            "fbref_prior_metrics": {
              "squad": "Atlético Madrid",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 0.0,
              "starts": 0.0,
              "sub_appearances": 0.0,
              "prior_reliability": 0.0
            },
            "rationale": "Bench projection scaled from XGBoost G_service (8 historical appearances) to 4.4 expected mins (appearance prob 0.11); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost G_service raw output over 3 target models",
              "stats": {
                "saves": 2.8253,
                "goals_prevented": -0.0366,
                "rating": 6.9029,
                "minutes": 28.5,
                "total_pass": 27.6104,
                "accurate_pass": 20.9615,
                "total_long_balls": 11.5241,
                "accurate_long_balls": 4.8752,
                "touches": 40.563,
                "clearances": 1.0442,
                "ball_recovery": 10.0156,
                "high_claims": 1.6892,
                "punches": 0.7776,
                "aerial_won": 0.8546,
                "sweeper_actions": 0.7251,
                "sweeper_accurate": 0.7251,
                "saves_inside_box": 1.7757,
                "possession_lost": 6.9731,
                "duels_won": 0.9324,
                "duels_lost": 0.2062,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.2062,
                "fouls_drawn": 0.3757,
                "total_own_half_passes": 21.0245,
                "accurate_own_half_passes": 19.0589
              },
              "trace": {
                "model": {
                  "position_service": "G",
                  "schema_version": 5,
                  "trained_at": "2026-10-30T10:03:31.159511+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 201,
                    "rows": 7335
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-05-24",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2062,
                    "rating": 5.6
                  },
                  {
                    "match_date": "2026-05-12",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1753,
                    "rating": 8.0
                  },
                  {
                    "match_date": "2026-05-02",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.149,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-04-11",
                    "opponent": "Sevilla",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1266,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-04-04",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1076,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-03-22",
                    "opponent": "Real Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0915,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-03-14",
                    "opponent": "Getafe",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0778,
                    "rating": 8.3
                  },
                  {
                    "match_date": "2025-11-23",
                    "opponent": "Getafe",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0661,
                    "rating": 7.0
                  }
                ],
                "feature_row": {
                  "history_matches": 8.0,
                  "is_starting_11": 0.0,
                  "sweeper_actions_p90": 0.4196,
                  "accurateOwnHalfPasses": 19.0589,
                  "totalLongBalls": 11.5241,
                  "commanding_index": 2.7238,
                  "accurateKeeperSweeper": 0.7251,
                  "distribution_accuracy": 0.9105
                },
                "per_target": [
                  {
                    "target": "saves",
                    "predicted": 2.825284957885742,
                    "model_output": 2.8253,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0453
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0393
                      },
                      {
                        "name": "save_contribution",
                        "importance": 0.038
                      },
                      {
                        "name": "saves",
                        "importance": 0.0361
                      },
                      {
                        "name": "commanding_index",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 2.9243,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2018
                        },
                        {
                          "name": "commanding_index",
                          "contribution": 0.0873
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0328
                        },
                        {
                          "name": "goodHighClaim",
                          "contribution": 0.0219
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0179
                        }
                      ],
                      "others": -0.0571,
                      "total": 2.8253,
                      "log_link": true,
                      "margin_base": 1.07304,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.071522
                        },
                        {
                          "name": "commanding_index",
                          "margin": 0.03155
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": 0.011599
                        },
                        {
                          "name": "goodHighClaim",
                          "margin": 0.007662
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.006228
                        }
                      ],
                      "others_margin": -0.019949
                    }
                  },
                  {
                    "target": "goalsPrevented",
                    "predicted": -0.03656836226582527,
                    "model_output": -0.0366,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "accurateOwnHalfPasses",
                        "importance": 0.0462
                      },
                      {
                        "name": "goalkeeperValueNormalized",
                        "importance": 0.0392
                      },
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0391
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0381
                      },
                      {
                        "name": "punches",
                        "importance": 0.0369
                      }
                    ],
                    "decomposition": {
                      "base": -0.0231,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.0276
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": 0.0209
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "contribution": -0.0145
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0123
                        },
                        {
                          "name": "accurateKeeperSweeper",
                          "contribution": -0.0114
                        }
                      ],
                      "others": 0.0314,
                      "total": -0.0366,
                      "log_link": false,
                      "margin_base": -0.023055,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": -0.027583
                        },
                        {
                          "name": "pass_accuracy",
                          "margin": 0.02094
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "margin": -0.014491
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.012298
                        },
                        {
                          "name": "accurateKeeperSweeper",
                          "margin": -0.011363
                        }
                      ],
                      "others_margin": 0.031281
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.902874946594238,
                    "model_output": 6.9029,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalLongBalls",
                        "importance": 0.039
                      },
                      {
                        "name": "accurateKeeperSweeper",
                        "importance": 0.0364
                      },
                      {
                        "name": "accurateOwnHalfPasses",
                        "importance": 0.036
                      },
                      {
                        "name": "totalKeeperSweeper",
                        "importance": 0.0357
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0356
                      }
                    ],
                    "decomposition": {
                      "base": 6.9903,
                      "items": [
                        {
                          "name": "aerialWon",
                          "contribution": -0.0305
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "contribution": -0.0205
                        },
                        {
                          "name": "accurateLongBalls",
                          "contribution": -0.0136
                        },
                        {
                          "name": "sweeper_accuracy",
                          "contribution": -0.012
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0111
                        }
                      ],
                      "others": 0.0003,
                      "total": 6.9029,
                      "log_link": false,
                      "margin_base": 6.99032,
                      "item_margins": [
                        {
                          "name": "aerialWon",
                          "margin": -0.030467
                        },
                        {
                          "name": "goalkeeperValueNormalized",
                          "margin": -0.020535
                        },
                        {
                          "name": "accurateLongBalls",
                          "margin": -0.013582
                        },
                        {
                          "name": "sweeper_accuracy",
                          "margin": -0.012027
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.011055
                        }
                      ],
                      "others_margin": 0.000221
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 8,
                  "role_matches": 0,
                  "minutes_source": "position_median",
                  "volume_basis": "all_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9925, quality 0.440)",
              "stats": {
                "saves": 2.8041,
                "goals_prevented": -0.0363,
                "rating": 6.9029,
                "minutes": 28.5,
                "total_pass": 27.4033,
                "accurate_pass": 20.8043,
                "total_long_balls": 11.4377,
                "accurate_long_balls": 4.8386,
                "touches": 40.2588,
                "clearances": 1.0364,
                "ball_recovery": 9.9405,
                "high_claims": 1.6765,
                "punches": 0.7718,
                "aerial_won": 0.8482,
                "sweeper_actions": 0.7197,
                "sweeper_accurate": 0.7197,
                "saves_inside_box": 1.7624,
                "possession_lost": 6.9208,
                "duels_won": 0.9254,
                "duels_lost": 0.2047,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.2047,
                "fouls_drawn": 0.3729,
                "total_own_half_passes": 20.8668,
                "accurate_own_half_passes": 18.916
              },
              "params": {
                "market_value_eur": 3200000,
                "quality_factor": 0.4399,
                "boost_factor": 0.9925,
                "reference_quality": 0.505,
                "history_matches": 8,
                "history_shrink": 0.3846,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 28.5 to 4.4 expected minutes (appearance prob 0.11)",
              "stats": {
                "saves": 0.4331,
                "goals_prevented": -0.0056,
                "rating": 6.9029,
                "minutes": 4.4,
                "total_pass": 4.2327,
                "accurate_pass": 3.2134,
                "total_long_balls": 1.7666,
                "accurate_long_balls": 0.7474,
                "touches": 6.2183,
                "clearances": 0.1601,
                "ball_recovery": 1.5354,
                "high_claims": 0.2589,
                "punches": 0.1192,
                "aerial_won": 0.131,
                "sweeper_actions": 0.1112,
                "sweeper_accurate": 0.1112,
                "saves_inside_box": 0.2722,
                "possession_lost": 1.069,
                "duels_won": 0.1429,
                "duels_lost": 0.0316,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0316,
                "fouls_drawn": 0.0576,
                "total_own_half_passes": 3.2231,
                "accurate_own_half_passes": 2.9217,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.4
              },
              "params": {
                "expected_minutes": 4.4,
                "projection_minutes": 28.5,
                "minutes_scale": 0.1545,
                "appearance_probability": 0.109
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 0.4331,
                "goals_prevented": -0.0056,
                "rating": 6.9029,
                "minutes": 4.4,
                "total_pass": 4.2327,
                "accurate_pass": 3.2134,
                "total_long_balls": 1.7666,
                "accurate_long_balls": 0.7474,
                "touches": 6.2183,
                "clearances": 0.1601,
                "ball_recovery": 1.5354,
                "high_claims": 0.2589,
                "punches": 0.1192,
                "aerial_won": 0.131,
                "sweeper_actions": 0.1112,
                "sweeper_accurate": 0.1112,
                "saves_inside_box": 0.2722,
                "possession_lost": 1.069,
                "duels_won": 0.1429,
                "duels_lost": 0.0316,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0316,
                "fouls_drawn": 0.0576,
                "total_own_half_passes": 3.2231,
                "accurate_own_half_passes": 2.9217,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.4
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "not_projected_to_play",
              "description": "Not among the projected substitutes: no share of the team's goals or assists",
              "stats": {
                "saves": 0.4331,
                "goals_prevented": -0.0056,
                "rating": 6.9029,
                "minutes": 4.4,
                "total_pass": 4.2327,
                "accurate_pass": 3.2134,
                "total_long_balls": 1.7666,
                "accurate_long_balls": 0.7474,
                "touches": 6.2183,
                "clearances": 0.1601,
                "ball_recovery": 1.5354,
                "high_claims": 0.2589,
                "punches": 0.1192,
                "aerial_won": 0.131,
                "sweeper_actions": 0.1112,
                "sweeper_accurate": 0.1112,
                "saves_inside_box": 0.2722,
                "possession_lost": 1.069,
                "duels_won": 0.1429,
                "duels_lost": 0.0316,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0316,
                "fouls_drawn": 0.0576,
                "total_own_half_passes": 3.2231,
                "accurate_own_half_passes": 2.9217,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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
              },
              "params": {
                "appearance_probability": 0.109,
                "projected_substitutes": 2,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 12 by projected rating, fifa_overall 82.0)",
              "stats": {
                "saves": 0.4331,
                "goals_prevented": -0.0056,
                "rating": 6.9029,
                "minutes": 4.4,
                "total_pass": 4.2327,
                "accurate_pass": 3.2134,
                "total_long_balls": 1.7666,
                "accurate_long_balls": 0.7474,
                "touches": 6.2183,
                "clearances": 0.1601,
                "ball_recovery": 1.5354,
                "high_claims": 0.2589,
                "punches": 0.1192,
                "aerial_won": 0.131,
                "sweeper_actions": 0.1112,
                "sweeper_accurate": 0.1112,
                "saves_inside_box": 0.2722,
                "possession_lost": 1.069,
                "duels_won": 0.1429,
                "duels_lost": 0.0316,
                "total_contest": 0.0,
                "won_contest": 0.0,
                "fouls": 0.0316,
                "fouls_drawn": 0.0576,
                "total_own_half_passes": 3.2231,
                "accurate_own_half_passes": 2.9217,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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": 82.0
              },
              "params": {
                "match_squad_rank": 12,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 315,
                "fifa_rank": 411.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 82.0
              }
            }
          ]
        },
        "Cristian Romero": {
          "player_id": 829932,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 21,
          "height": 185,
          "market_value": 46000000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 1,
            "aerial_won": 0,
            "total_shots": 0,
            "rating": 6.9869,
            "minutes": 15,
            "total_pass": 35,
            "accurate_pass": 32,
            "duels_won": 4,
            "total_long_balls": 3,
            "accurate_long_balls": 2,
            "total_own_half_passes": 20,
            "accurate_own_half_passes": 20,
            "total_opp_half_passes": 14,
            "accurate_opp_half_passes": 12,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 42,
            "possession_lost": 3.437,
            "dispossessed": 0.1701,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 1,
            "blocks": 0,
            "goal_rate": 0.1276,
            "goals": 0,
            "assist_rate": 0.0016,
            "assists": 0,
            "expected_goals": 0.0775,
            "expected_assists": 0.036,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.1136,
            "ball_carries": 14,
            "total_progression": 76,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.366,
            "bench_expected_minutes": 15.04,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.324,
            "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": 16421071,
              "match_date": "2026-10-17",
              "home_team": "Espanyol",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 67,
                "rating": 7.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.1459,
                "total_shots": 0,
                "total_pass": 68,
                "accurate_pass": 67,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo Alavés",
              "stats": {
                "minutes": 90,
                "rating": 8.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.5698,
                "expected_assists": 0.0261,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 82,
                "accurate_pass": 75,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 3,
                "duels_won": 6,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416339,
              "match_date": "2026-09-20",
              "home_team": "Atlético Madrid",
              "away_team": "Real Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 89,
                "rating": 7.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0716,
                "expected_assists": 0.014,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 56,
                "accurate_pass": 54,
                "interceptions": 1,
                "clearances": 4,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416335,
              "match_date": "2026-09-16",
              "home_team": "Atlético Madrid",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 68,
                "rating": 7.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1119,
                "expected_assists": 0.0237,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 60,
                "accurate_pass": 54,
                "tackles": 3,
                "tackles_won": 3,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 8,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416332,
              "match_date": "2026-09-13",
              "home_team": "Real Sociedad",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 90,
                "rating": 7.9,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0446,
                "total_shots": 0,
                "total_pass": 54,
                "accurate_pass": 49,
                "tackles": 1,
                "clearances": 11,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416317,
              "match_date": "2026-09-05",
              "home_team": "Athletic Club",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 31,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1759,
                "expected_assists": 0.0216,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 35,
                "accurate_pass": 33,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14025026,
              "match_date": "2026-04-12",
              "home_team": "Sunderland",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 70,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0427,
                "expected_assists": 0.0052,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 32,
                "accurate_pass": 29,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 2,
                "clearances": 4,
                "aerial_won": 3,
                "duels_won": 8,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14024020,
              "match_date": "2026-03-22",
              "home_team": "Tottenham Hotspur",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0185,
                "expected_assists": 0.0421,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 68,
                "accurate_pass": 59,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 4,
                "aerial_won": 6,
                "duels_won": 11,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025176,
              "match_date": "2026-02-07",
              "home_team": "Manchester United",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 29,
                "rating": 5.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0185,
                "total_shots": 0,
                "total_pass": 13,
                "accurate_pass": 12,
                "tackles": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14025149,
              "match_date": "2026-02-01",
              "home_team": "Tottenham Hotspur",
              "away_team": "Manchester City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Manchester City",
              "stats": {
                "minutes": 45,
                "rating": 5.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0022,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 22,
                "interceptions": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "76986",
              "season_name": "Premier League 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 332,
            "combined_rank_score": 222.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 72.0,
            "sofascore_rating": 7.58,
            "sofascore_appearances": 5.0,
            "fifa_rank": 372.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.9869,
            "source_file": "data/player_rankings.csv",
            "player_name": "Cristian Romero",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Diego Murillo",
                  "ranking": 327
                },
                {
                  "player_name": "Boubacar Kamara",
                  "ranking": 328
                },
                {
                  "player_name": "Min-woo Kim",
                  "ranking": 329
                },
                {
                  "player_name": "Juan Berrocal",
                  "ranking": 330
                },
                {
                  "player_name": "Marcos Senesi",
                  "ranking": 331
                }
              ],
              "lower": [
                {
                  "player_name": "Alejandro Iturbe",
                  "ranking": 333
                },
                {
                  "player_name": "Oyarzabal",
                  "ranking": 334
                },
                {
                  "player_name": "Manuel Akanji",
                  "ranking": 335
                },
                {
                  "player_name": "Phil Foden",
                  "ranking": 336
                },
                {
                  "player_name": "Charles Aránguiz",
                  "ranking": 337
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 29,
          "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",
              "totalTackle",
              "totalShots",
              "rating",
              "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",
              "totalShots",
              "rating"
            ],
            "history_matches": 29,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 15.04315307438117,
            "bench_appearance_prob": 0.3655978670173259,
            "market_value_adjustment": 1.0134,
            "fbref_prior_metrics": {
              "squad": "Atlético Madrid",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 0.0,
              "starts": 0.0,
              "sub_appearances": 0.0,
              "prior_reliability": 0.0
            },
            "rationale": "Bench projection scaled from XGBoost D_service (29 historical appearances) to 15.0 expected mins (appearance prob 0.37); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.3785,
                "tackles": 0.5247,
                "tackles_won": 0.3701,
                "clearances": 1.8299,
                "aerial_won": 0.7725,
                "total_shots": 0.6273,
                "rating": 6.9869,
                "minutes": 24.27,
                "total_pass": 55.5893,
                "accurate_pass": 51.0802,
                "duels_won": 5.9141,
                "total_long_balls": 4.2901,
                "accurate_long_balls": 2.9135,
                "total_own_half_passes": 32.5793,
                "accurate_own_half_passes": 31.4188,
                "total_opp_half_passes": 23.01,
                "accurate_opp_half_passes": 19.6614,
                "crosses_total": 0.0215,
                "crosses_accurate": 0.0,
                "touches": 67.4435,
                "possession_lost": 5.4718,
                "dispossessed": 0.1679,
                "duels_lost": 2.8954,
                "aerial_lost": 1.272,
                "total_contest": 0.3446,
                "won_contest": 0.3284,
                "ball_recovery": 4.2871,
                "challenges_lost": 0.3629,
                "fouls": 1.2264,
                "fouls_drawn": 1.0324,
                "blocks": 0.5672,
                "goals": 0.2032,
                "goal_rate": 0.2032,
                "assists": 0.0026,
                "assist_rate": 0.0026,
                "expected_goals": 0.1234,
                "expected_assists": 0.0573,
                "shots_on_target": 0.4108,
                "big_chances_created": 0.0552,
                "xgot": 0.1808,
                "ball_carries": 21.6182,
                "total_progression": 120.5735,
                "progressive_carries": 0.5531,
                "key_pass": 0.255,
                "shots_off_target": 0.2165
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Espanyol",
                    "minutes": 67.0,
                    "is_starting": true,
                    "weight": 0.1514,
                    "rating": 7.7
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Deportivo Alavés",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1287,
                    "rating": 8.1
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Real Madrid",
                    "minutes": 89.0,
                    "is_starting": true,
                    "weight": 0.1094,
                    "rating": 7.4
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Osasuna",
                    "minutes": 68.0,
                    "is_starting": true,
                    "weight": 0.093,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Real Sociedad",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.079,
                    "rating": 7.9
                  },
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Athletic Club",
                    "minutes": 31.0,
                    "is_starting": false,
                    "weight": 0.0672,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-04-12",
                    "opponent": "Sunderland",
                    "minutes": 70.0,
                    "is_starting": true,
                    "weight": 0.0571,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-03-22",
                    "opponent": "Nottingham Forest",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0485,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-02-07",
                    "opponent": "Manchester United",
                    "minutes": 29.0,
                    "is_starting": true,
                    "weight": 0.0412,
                    "rating": 5.3
                  },
                  {
                    "match_date": "2026-02-01",
                    "opponent": "Manchester City",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.0351,
                    "rating": 5.8
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalClearance": 3.6712,
                  "aerialWon": 2.8489,
                  "totalClearance_p90": 4.295,
                  "totalTackle": 1.7045,
                  "totalPass": 55.5893
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.3784957230091095,
                    "model_output": 0.3785,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4817
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0138
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0087
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0079
                        },
                        {
                          "name": "tackle_success_rate",
                          "contribution": 0.0074
                        }
                      ],
                      "others": -0.0185,
                      "total": 0.3785,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.808909
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.036231
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": 0.023162
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.020537
                        },
                        {
                          "name": "tackle_success_rate",
                          "margin": 0.018826
                        }
                      ],
                      "others_margin": -0.047968
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 0.5247330069541931,
                    "model_output": 0.5247,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7778
                        },
                        {
                          "name": "wonTackle",
                          "contribution": 0.0304
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0251
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.0224
                        },
                        {
                          "name": "ballCarriesCount",
                          "contribution": -0.019
                        }
                      ],
                      "others": -0.0919,
                      "total": 0.5247,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.823957
                        },
                        {
                          "name": "wonTackle",
                          "margin": 0.048864
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.040132
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.03582
                        },
                        {
                          "name": "ballCarriesCount",
                          "margin": -0.030344
                        }
                      ],
                      "others_margin": -0.161303
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.37007302045822144,
                    "model_output": 0.3701,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4491
                        },
                        {
                          "name": "totalTackle",
                          "contribution": 0.0178
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0153
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0124
                        },
                        {
                          "name": "challengeLost",
                          "contribution": -0.0118
                        }
                      ],
                      "others": -0.0048,
                      "total": 0.3701,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.757322
                        },
                        {
                          "name": "totalTackle",
                          "margin": 0.044008
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.037593
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.031539
                        },
                        {
                          "name": "challengeLost",
                          "margin": -0.030954
                        }
                      ],
                      "others_margin": -0.013069
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 1.8299146890640259,
                    "model_output": 1.8299,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -2.0048
                        },
                        {
                          "name": "totalClearance",
                          "contribution": 0.1291
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.0678
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": 0.0585
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0605
                        }
                      ],
                      "others": 0.0871,
                      "total": 1.8299,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.877568
                        },
                        {
                          "name": "totalClearance",
                          "margin": 0.086594
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.042638
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": 0.035384
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.035354
                        }
                      ],
                      "others_margin": 0.048804
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.7725223898887634,
                    "model_output": 0.7725,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.8347
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.2257
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0368
                        },
                        {
                          "name": "tackle_success_rate",
                          "contribution": -0.0324
                        },
                        {
                          "name": "aerial_dominance",
                          "contribution": 0.0185
                        }
                      ],
                      "others": -0.019,
                      "total": 0.7725,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.931065
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.34761
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": 0.046746
                        },
                        {
                          "name": "tackle_success_rate",
                          "margin": -0.041044
                        },
                        {
                          "name": "aerial_dominance",
                          "margin": 0.023679
                        }
                      ],
                      "others_margin": -0.024378
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.6273467540740967,
                    "model_output": 0.6273,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "totalShots",
                          "contribution": 0.1892
                        },
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1359
                        },
                        {
                          "name": "rating",
                          "contribution": 0.1177
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0183
                        },
                        {
                          "name": "duel_win_rate",
                          "contribution": 0.0154
                        }
                      ],
                      "others": -0.0193,
                      "total": 0.6273,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "totalShots",
                          "margin": 0.189239
                        },
                        {
                          "name": "is_starting_11",
                          "margin": -0.135856
                        },
                        {
                          "name": "rating",
                          "margin": 0.117693
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.01834
                        },
                        {
                          "name": "duel_win_rate",
                          "margin": 0.015375
                        }
                      ],
                      "others_margin": -0.019304
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.986939430236816,
                    "model_output": 6.9869,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0729
                        },
                        {
                          "name": "totalPass",
                          "contribution": 0.0492
                        },
                        {
                          "name": "accuratePass",
                          "contribution": 0.0416
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0402
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0274
                        }
                      ],
                      "others": 0.1059,
                      "total": 6.9869,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.072907
                        },
                        {
                          "name": "totalPass",
                          "margin": 0.04923
                        },
                        {
                          "name": "accuratePass",
                          "margin": 0.041575
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.04023
                        },
                        {
                          "name": "rating",
                          "margin": 0.02736
                        }
                      ],
                      "others_margin": 0.105936
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 29,
                  "role_matches": 2,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "all_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0134, quality 0.809)",
              "stats": {
                "interceptions": 0.3836,
                "tackles": 0.5318,
                "tackles_won": 0.375,
                "clearances": 1.8544,
                "aerial_won": 0.7829,
                "total_shots": 0.6358,
                "rating": 6.9869,
                "minutes": 24.27,
                "total_pass": 56.3342,
                "accurate_pass": 51.7647,
                "duels_won": 5.9933,
                "total_long_balls": 4.3476,
                "accurate_long_balls": 2.9525,
                "total_own_half_passes": 33.0159,
                "accurate_own_half_passes": 31.8398,
                "total_opp_half_passes": 23.3183,
                "accurate_opp_half_passes": 19.9249,
                "crosses_total": 0.0218,
                "crosses_accurate": 0.0,
                "touches": 68.3472,
                "possession_lost": 5.5451,
                "dispossessed": 0.1701,
                "duels_lost": 2.9342,
                "aerial_lost": 1.289,
                "total_contest": 0.3492,
                "won_contest": 0.3328,
                "ball_recovery": 4.3445,
                "challenges_lost": 0.3678,
                "fouls": 1.2428,
                "fouls_drawn": 1.0462,
                "blocks": 0.5748,
                "goals": 0.2059,
                "goal_rate": 0.2059,
                "assists": 0.0026,
                "assist_rate": 0.0026,
                "expected_goals": 0.1251,
                "expected_assists": 0.0581,
                "shots_on_target": 0.4163,
                "big_chances_created": 0.0559,
                "xgot": 0.1832,
                "ball_carries": 21.9079,
                "total_progression": 122.1892,
                "progressive_carries": 0.5605,
                "key_pass": 0.2584,
                "shots_off_target": 0.2194
              },
              "params": {
                "market_value_eur": 46000000,
                "quality_factor": 0.8089,
                "boost_factor": 1.0134,
                "reference_quality": 0.505,
                "history_matches": 29,
                "history_shrink": 0.1471,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 24.3 to 15.0 expected minutes (appearance prob 0.37)",
              "stats": {
                "interceptions": 0.2378,
                "tackles": 0.3296,
                "tackles_won": 0.2324,
                "clearances": 1.1494,
                "aerial_won": 0.4853,
                "total_shots": 0.3941,
                "rating": 6.9869,
                "minutes": 15.04,
                "total_pass": 34.9173,
                "accurate_pass": 32.0851,
                "duels_won": 3.7148,
                "total_long_balls": 2.6948,
                "accurate_long_balls": 1.83,
                "total_own_half_passes": 20.4641,
                "accurate_own_half_passes": 19.7351,
                "total_opp_half_passes": 14.4533,
                "accurate_opp_half_passes": 12.35,
                "crosses_total": 0.0135,
                "crosses_accurate": 0.0,
                "touches": 42.3633,
                "possession_lost": 3.437,
                "dispossessed": 0.1701,
                "duels_lost": 1.8187,
                "aerial_lost": 1.289,
                "total_contest": 0.2164,
                "won_contest": 0.2063,
                "ball_recovery": 2.6928,
                "challenges_lost": 0.3678,
                "fouls": 0.7703,
                "fouls_drawn": 0.6485,
                "blocks": 0.3563,
                "goals": 0.1276,
                "goal_rate": 0.1276,
                "assists": 0.0016,
                "assist_rate": 0.0016,
                "expected_goals": 0.0775,
                "expected_assists": 0.036,
                "shots_on_target": 0.258,
                "big_chances_created": 0.0346,
                "xgot": 0.1136,
                "ball_carries": 13.5791,
                "total_progression": 75.7359,
                "progressive_carries": 0.3474,
                "key_pass": 0.1602,
                "shots_off_target": 0.136,
                "bench_appearance_probability": 0.366,
                "bench_expected_minutes": 15.04
              },
              "params": {
                "expected_minutes": 15.04,
                "projection_minutes": 24.27,
                "minutes_scale": 0.6198,
                "appearance_probability": 0.366
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.2378,
                "tackles": 0.3296,
                "tackles_won": 0.2324,
                "clearances": 1.1494,
                "aerial_won": 0.4853,
                "total_shots": 0.3941,
                "rating": 6.9869,
                "minutes": 15.04,
                "total_pass": 34.9173,
                "accurate_pass": 32.0851,
                "duels_won": 3.7148,
                "total_long_balls": 2.6948,
                "accurate_long_balls": 1.83,
                "total_own_half_passes": 20.4641,
                "accurate_own_half_passes": 19.7351,
                "total_opp_half_passes": 14.4533,
                "accurate_opp_half_passes": 12.35,
                "crosses_total": 0.0135,
                "crosses_accurate": 0.0,
                "touches": 42.3633,
                "possession_lost": 3.437,
                "dispossessed": 0.1701,
                "duels_lost": 1.8187,
                "aerial_lost": 1.289,
                "total_contest": 0.2164,
                "won_contest": 0.2063,
                "ball_recovery": 2.6928,
                "challenges_lost": 0.3678,
                "fouls": 0.7703,
                "fouls_drawn": 0.6485,
                "blocks": 0.3563,
                "goals": 0.1276,
                "goal_rate": 0.1276,
                "assists": 0.0016,
                "assist_rate": 0.0016,
                "expected_goals": 0.0775,
                "expected_assists": 0.036,
                "shots_on_target": 0.258,
                "big_chances_created": 0.0346,
                "xgot": 0.1136,
                "ball_carries": 13.5791,
                "total_progression": 75.7359,
                "progressive_carries": 0.3474,
                "key_pass": 0.1602,
                "shots_off_target": 0.136,
                "bench_appearance_probability": 0.366,
                "bench_expected_minutes": 15.04
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "not_projected_to_play",
              "description": "Not among the projected substitutes: no share of the team's goals or assists",
              "stats": {
                "interceptions": 0.2378,
                "tackles": 0.3296,
                "tackles_won": 0.2324,
                "clearances": 1.1494,
                "aerial_won": 0.4853,
                "total_shots": 0.3941,
                "rating": 6.9869,
                "minutes": 15.04,
                "total_pass": 34.9173,
                "accurate_pass": 32.0851,
                "duels_won": 3.7148,
                "total_long_balls": 2.6948,
                "accurate_long_balls": 1.83,
                "total_own_half_passes": 20.4641,
                "accurate_own_half_passes": 19.7351,
                "total_opp_half_passes": 14.4533,
                "accurate_opp_half_passes": 12.35,
                "crosses_total": 0.0135,
                "crosses_accurate": 0.0,
                "touches": 42.3633,
                "possession_lost": 3.437,
                "dispossessed": 0.1701,
                "duels_lost": 1.8187,
                "aerial_lost": 1.289,
                "total_contest": 0.2164,
                "won_contest": 0.2063,
                "ball_recovery": 2.6928,
                "challenges_lost": 0.3678,
                "fouls": 0.7703,
                "fouls_drawn": 0.6485,
                "blocks": 0.3563,
                "goal_rate": 0.1276,
                "goals": 0,
                "assist_rate": 0.0016,
                "assists": 0,
                "expected_goals": 0.0775,
                "expected_assists": 0.036,
                "shots_on_target": 0.258,
                "big_chances_created": 0.0346,
                "xgot": 0.1136,
                "ball_carries": 13.5791,
                "total_progression": 75.7359,
                "progressive_carries": 0.3474,
                "key_pass": 0.1602,
                "shots_off_target": 0.136,
                "bench_appearance_probability": 0.366,
                "bench_expected_minutes": 15.04,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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
              },
              "params": {
                "appearance_probability": 0.366,
                "projected_substitutes": 2,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 10 by projected rating, fifa_overall 82.0)",
              "stats": {
                "interceptions": 0.2378,
                "tackles": 0.3296,
                "tackles_won": 0.2324,
                "clearances": 1.1494,
                "aerial_won": 0.4853,
                "total_shots": 0.3941,
                "rating": 6.9869,
                "minutes": 15.04,
                "total_pass": 34.9173,
                "accurate_pass": 32.0851,
                "duels_won": 3.7148,
                "total_long_balls": 2.6948,
                "accurate_long_balls": 1.83,
                "total_own_half_passes": 20.4641,
                "accurate_own_half_passes": 19.7351,
                "total_opp_half_passes": 14.4533,
                "accurate_opp_half_passes": 12.35,
                "crosses_total": 0.0135,
                "crosses_accurate": 0.0,
                "touches": 42.3633,
                "possession_lost": 3.437,
                "dispossessed": 0.1701,
                "duels_lost": 1.8187,
                "aerial_lost": 1.289,
                "total_contest": 0.2164,
                "won_contest": 0.2063,
                "ball_recovery": 2.6928,
                "challenges_lost": 0.3678,
                "fouls": 0.7703,
                "fouls_drawn": 0.6485,
                "blocks": 0.3563,
                "goal_rate": 0.1276,
                "goals": 0,
                "assist_rate": 0.0016,
                "assists": 0,
                "expected_goals": 0.0775,
                "expected_assists": 0.036,
                "shots_on_target": 0.258,
                "big_chances_created": 0.0346,
                "xgot": 0.1136,
                "ball_carries": 13.5791,
                "total_progression": 75.7359,
                "progressive_carries": 0.3474,
                "key_pass": 0.1602,
                "shots_off_target": 0.136,
                "bench_appearance_probability": 0.366,
                "bench_expected_minutes": 15.04,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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
              },
              "params": {
                "match_squad_rank": 10,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 332,
                "fifa_rank": 372.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 82.0
              }
            }
          ]
        },
        "Robin Le Normand": {
          "player_id": 787751,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 24,
          "height": 187,
          "market_value": 19100000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 1,
            "aerial_won": 0,
            "total_shots": 0,
            "rating": 6.7556,
            "minutes": 14,
            "total_pass": 10,
            "accurate_pass": 9,
            "duels_won": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 7,
            "accurate_own_half_passes": 6,
            "total_opp_half_passes": 3,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 12,
            "possession_lost": 1.1874,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0046,
            "shots_on_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 4,
            "total_progression": 11,
            "progressive_carries": 0,
            "key_pass": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.232,
            "bench_expected_minutes": 14.3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.324,
            "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": 81.0
          },
          "latest_10_games": [
            {
              "match_id": 16421082,
              "match_date": "2026-10-24",
              "home_team": "Atlético Madrid",
              "away_team": "Deportivo de A Coruña",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 45,
                "rating": 7.2,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0043,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 35,
                "accurate_pass": 34,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo Alavés",
              "stats": {
                "minutes": 62,
                "rating": 5.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0045,
                "total_shots": 0,
                "total_pass": 41,
                "accurate_pass": 37,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416339,
              "match_date": "2026-09-20",
              "home_team": "Atlético Madrid",
              "away_team": "Real Madrid",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 8,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0005,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416335,
              "match_date": "2026-09-16",
              "home_team": "Atlético Madrid",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 90,
                "rating": 8.3,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0146,
                "expected_assists": 0.0069,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 68,
                "accurate_pass": 63,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416302,
              "match_date": "2026-08-23",
              "home_team": "Atlético Madrid",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 76,
                "rating": 5.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0039,
                "total_shots": 0,
                "total_pass": 35,
                "accurate_pass": 32,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421055,
              "match_date": "2026-08-19",
              "home_team": "Atlético Madrid",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0029,
                "total_shots": 0,
                "total_pass": 30,
                "accurate_pass": 28,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 3,
                "clearances": 8,
                "aerial_won": 3,
                "duels_won": 6,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083661,
              "match_date": "2026-05-17",
              "home_team": "Atlético Madrid",
              "away_team": "Girona FC",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Girona FC",
              "stats": {
                "minutes": 90,
                "rating": 7.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0291,
                "total_shots": 0,
                "total_pass": 52,
                "accurate_pass": 44,
                "tackles": 7,
                "tackles_won": 4,
                "clearances": 8,
                "aerial_won": 2,
                "duels_won": 9,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083634,
              "match_date": "2026-05-12",
              "home_team": "Osasuna",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 72,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0013,
                "total_shots": 0,
                "total_pass": 21,
                "accurate_pass": 16,
                "interceptions": 2,
                "clearances": 4,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083551,
              "match_date": "2026-05-09",
              "home_team": "Atlético Madrid",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 49,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0063,
                "total_shots": 0,
                "total_pass": 37,
                "accurate_pass": 32,
                "interceptions": 4,
                "aerial_won": 3,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083476,
              "match_date": "2026-05-02",
              "home_team": "Valencia",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1861,
                "expected_assists": 0.008,
                "total_shots": 3,
                "shots_off_target": 1,
                "total_pass": 36,
                "accurate_pass": 33,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 3,
                "clearances": 6,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 701,
            "combined_rank_score": 338.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 100.0,
            "sofascore_rating": 7.475,
            "sofascore_appearances": 4.0,
            "fifa_rank": 576.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7556,
            "source_file": "data/player_rankings.csv",
            "player_name": "Robin Le Normand",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jamal Lewis",
                  "ranking": 696
                },
                {
                  "player_name": "Lasha Dvali",
                  "ranking": 697
                },
                {
                  "player_name": "Haris Hajdarević",
                  "ranking": 698
                },
                {
                  "player_name": "Adam Wharton",
                  "ranking": 699
                },
                {
                  "player_name": "Ji-ung Baek",
                  "ranking": 700
                }
              ],
              "lower": [
                {
                  "player_name": "Jonathan Villagra",
                  "ranking": 702
                },
                {
                  "player_name": "Bo-seob Kim",
                  "ranking": 703
                },
                {
                  "player_name": "Mateo Retegui",
                  "ranking": 704
                },
                {
                  "player_name": "Abdukodir Khusanov",
                  "ranking": 705
                },
                {
                  "player_name": "Bradley Barcola",
                  "ranking": 706
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.768,
          "history_matches": 34,
          "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",
              "totalTackle",
              "totalShots",
              "rating",
              "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",
              "totalShots",
              "rating"
            ],
            "history_matches": 34,
            "data_confidence": 0.768,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 14.303593639163456,
            "bench_appearance_prob": 0.232,
            "market_value_adjustment": 1.0045,
            "fbref_prior_metrics": {
              "squad": "Atlético Madrid",
              "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.12
            },
            "rationale": "Bench projection scaled from XGBoost D_service (34 historical appearances) to 14.3 expected mins (appearance prob 0.23); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 7 target models",
              "stats": {
                "interceptions": 0.3522,
                "tackles": 0.5227,
                "tackles_won": 0.2724,
                "clearances": 1.4503,
                "aerial_won": 0.8093,
                "total_shots": 0.1528,
                "rating": 6.7556,
                "minutes": 32.08,
                "total_pass": 21.6031,
                "accurate_pass": 19.2805,
                "duels_won": 1.8792,
                "total_long_balls": 2.6619,
                "accurate_long_balls": 1.4664,
                "total_own_half_passes": 14.591,
                "accurate_own_half_passes": 13.3631,
                "total_opp_half_passes": 7.0121,
                "accurate_opp_half_passes": 5.9175,
                "crosses_total": 0.1108,
                "crosses_accurate": 0.0465,
                "touches": 25.9783,
                "possession_lost": 2.6512,
                "dispossessed": 0.0,
                "duels_lost": 0.9463,
                "aerial_lost": 0.3019,
                "total_contest": 0.1233,
                "won_contest": 0.1233,
                "ball_recovery": 1.2563,
                "challenges_lost": 0.1706,
                "fouls": 0.4738,
                "fouls_drawn": 0.3264,
                "blocks": 0.2931,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0103,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 8.4286,
                "total_progression": 25.2287,
                "progressive_carries": 0.3803,
                "key_pass": 0.0465,
                "shots_off_target": 0.1528
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:04:35.806070+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 625,
                    "rows": 21826
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.1506,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Deportivo Alavés",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.128,
                    "rating": 5.7
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Real Madrid",
                    "minutes": 8.0,
                    "is_starting": false,
                    "weight": 0.1088,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Osasuna",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0925,
                    "rating": 8.3
                  },
                  {
                    "match_date": "2026-08-23",
                    "opponent": "Villarreal",
                    "minutes": 76.0,
                    "is_starting": true,
                    "weight": 0.0786,
                    "rating": 5.6
                  },
                  {
                    "match_date": "2026-08-19",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0668,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Girona FC",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0568,
                    "rating": 7.7
                  },
                  {
                    "match_date": "2026-05-12",
                    "opponent": "Osasuna",
                    "minutes": 72.0,
                    "is_starting": false,
                    "weight": 0.0483,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Celta Vigo",
                    "minutes": 49.0,
                    "is_starting": false,
                    "weight": 0.041,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-05-02",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0349,
                    "rating": 7.3
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalClearance": 3.1934,
                  "aerialWon": 1.6413,
                  "totalClearance_p90": 4.1716,
                  "totalTackle": 1.1194,
                  "totalPass": 34.0643
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.3521532416343689,
                    "model_output": 0.3522,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.289
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0463
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0289
                      },
                      {
                        "name": "touches",
                        "importance": 0.0285
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0217
                      }
                    ],
                    "decomposition": {
                      "base": 0.8685,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4914
                        },
                        {
                          "name": "long_ball_accuracy",
                          "contribution": -0.0081
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0077
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0073
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0064
                        }
                      ],
                      "others": -0.0108,
                      "total": 0.3522,
                      "log_link": true,
                      "margin_base": -0.140967,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.834164
                        },
                        {
                          "name": "long_ball_accuracy",
                          "margin": -0.021843
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.020533
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.019632
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.017532
                        }
                      ],
                      "others_margin": -0.030084
                    }
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 0.5226793885231018,
                    "model_output": 0.5227,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2458
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0642
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0583
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "press_vulnerability",
                        "importance": 0.0268
                      }
                    ],
                    "decomposition": {
                      "base": 1.3857,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7562
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": -0.0221
                        },
                        {
                          "name": "wonTackle",
                          "contribution": -0.0188
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0103
                        },
                        {
                          "name": "duelWon_p90",
                          "contribution": 0.0099
                        }
                      ],
                      "others": -0.0655,
                      "total": 0.5227,
                      "log_link": true,
                      "margin_base": 0.326186,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.788994
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": -0.035769
                        },
                        {
                          "name": "wonTackle",
                          "margin": -0.03151
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.01762
                        },
                        {
                          "name": "duelWon_p90",
                          "margin": 0.01694
                        }
                      ],
                      "others_margin": -0.11802
                    }
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.272377073764801,
                    "model_output": 0.2724,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1981
                      },
                      {
                        "name": "totalTackle",
                        "importance": 0.0663
                      },
                      {
                        "name": "totalTackle_p90",
                        "importance": 0.0478
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0408
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0244
                      }
                    ],
                    "decomposition": {
                      "base": 0.8457,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4799
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0186
                        },
                        {
                          "name": "totalClearance_p90",
                          "contribution": -0.0129
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.009
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0084
                        }
                      ],
                      "others": -0.0445,
                      "total": 0.2724,
                      "log_link": true,
                      "margin_base": -0.167585,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.838022
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.052148
                        },
                        {
                          "name": "totalClearance_p90",
                          "margin": -0.038001
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.027286
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.02625
                        }
                      ],
                      "others_margin": -0.151275
                    }
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 1.4503378868103027,
                    "model_output": 1.4503,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2965
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.1411
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.1086
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0347
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0221
                      }
                    ],
                    "decomposition": {
                      "base": 3.4317,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -2.1137
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.1067
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.0703
                        },
                        {
                          "name": "totalClearance",
                          "contribution": -0.0541
                        },
                        {
                          "name": "totalLongBalls",
                          "contribution": 0.0423
                        }
                      ],
                      "others": -0.0329,
                      "total": 1.4503,
                      "log_link": true,
                      "margin_base": 1.233062,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.956931
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.07782
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.048144
                        },
                        {
                          "name": "totalClearance",
                          "margin": -0.036862
                        },
                        {
                          "name": "totalLongBalls",
                          "margin": 0.028967
                        }
                      ],
                      "others_margin": -0.022403
                    }
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.8092601895332336,
                    "model_output": 0.8093,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1626
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.1535
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0722
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.04
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0282
                      }
                    ],
                    "decomposition": {
                      "base": 1.3776,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.7601
                        },
                        {
                          "name": "aerialWon",
                          "contribution": 0.1328
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0322
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": 0.029
                        },
                        {
                          "name": "aerial_dominance",
                          "contribution": 0.0165
                        }
                      ],
                      "others": -0.0187,
                      "total": 0.8093,
                      "log_link": true,
                      "margin_base": 0.320358,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.802458
                        },
                        {
                          "name": "aerialWon",
                          "margin": 0.194819
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.041986
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": 0.036351
                        },
                        {
                          "name": "aerial_dominance",
                          "margin": 0.020165
                        }
                      ],
                      "others_margin": -0.022855
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.15277232229709625,
                    "model_output": 0.1528,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1021
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0667
                      },
                      {
                        "name": "history_matches",
                        "importance": 0.0336
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0292
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0274
                      }
                    ],
                    "decomposition": {
                      "base": 0.4785,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1906
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0787
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0117
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0098
                        },
                        {
                          "name": "aerial_dominance",
                          "contribution": 0.0084
                        }
                      ],
                      "others": -0.0433,
                      "total": 0.1528,
                      "log_link": false,
                      "margin_base": 0.47854,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.190559
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.078746
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.011658
                        },
                        {
                          "name": "rating",
                          "margin": -0.009779
                        },
                        {
                          "name": "aerial_dominance",
                          "margin": 0.008397
                        }
                      ],
                      "others_margin": -0.043422
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.7555646896362305,
                    "model_output": 6.7556,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalPass",
                        "importance": 0.0906
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0563
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0496
                      },
                      {
                        "name": "rating",
                        "importance": 0.0303
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0259
                      }
                    ],
                    "decomposition": {
                      "base": 6.7955,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.017
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0132
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0094
                        },
                        {
                          "name": "errorLeadToAShot",
                          "contribution": -0.0081
                        },
                        {
                          "name": "tackle_success_rate",
                          "contribution": 0.007
                        }
                      ],
                      "others": 0.0008,
                      "total": 6.7556,
                      "log_link": false,
                      "margin_base": 6.795516,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.016957
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.013232
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.009363
                        },
                        {
                          "name": "errorLeadToAShot",
                          "margin": -0.008081
                        },
                        {
                          "name": "tackle_success_rate",
                          "margin": 0.007029
                        }
                      ],
                      "others_margin": 0.000653
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 34,
                  "role_matches": 13,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0045, quality 0.622)",
              "stats": {
                "interceptions": 0.3537,
                "tackles": 0.525,
                "tackles_won": 0.2736,
                "clearances": 1.4569,
                "aerial_won": 0.8129,
                "total_shots": 0.1535,
                "rating": 6.7556,
                "minutes": 32.08,
                "total_pass": 21.7003,
                "accurate_pass": 19.3673,
                "duels_won": 1.8877,
                "total_long_balls": 2.6739,
                "accurate_long_balls": 1.473,
                "total_own_half_passes": 14.6567,
                "accurate_own_half_passes": 13.4232,
                "total_opp_half_passes": 7.0437,
                "accurate_opp_half_passes": 5.9441,
                "crosses_total": 0.1113,
                "crosses_accurate": 0.0467,
                "touches": 26.0952,
                "possession_lost": 2.6631,
                "dispossessed": 0.0,
                "duels_lost": 0.9506,
                "aerial_lost": 0.3033,
                "total_contest": 0.1239,
                "won_contest": 0.1239,
                "ball_recovery": 1.262,
                "challenges_lost": 0.1714,
                "fouls": 0.4759,
                "fouls_drawn": 0.3279,
                "blocks": 0.2944,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0103,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 8.4665,
                "total_progression": 25.3422,
                "progressive_carries": 0.382,
                "key_pass": 0.0467,
                "shots_off_target": 0.1535
              },
              "params": {
                "market_value_eur": 19100000,
                "quality_factor": 0.6221,
                "boost_factor": 1.0045,
                "reference_quality": 0.505,
                "history_matches": 34,
                "history_shrink": 0.1282,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0100)",
              "stats": {
                "interceptions": 0.3581,
                "tackles": 0.525,
                "tackles_won": 0.2748,
                "clearances": 1.4569,
                "aerial_won": 0.8129,
                "total_shots": 0.152,
                "rating": 6.7556,
                "minutes": 32.08,
                "total_pass": 21.7003,
                "accurate_pass": 19.3673,
                "duels_won": 1.8877,
                "total_long_balls": 2.6739,
                "accurate_long_balls": 1.473,
                "total_own_half_passes": 14.6567,
                "accurate_own_half_passes": 13.4232,
                "total_opp_half_passes": 7.0437,
                "accurate_opp_half_passes": 5.9441,
                "crosses_total": 0.1102,
                "crosses_accurate": 0.0467,
                "touches": 26.0952,
                "possession_lost": 2.6631,
                "dispossessed": 0.0,
                "duels_lost": 0.9506,
                "aerial_lost": 0.3033,
                "total_contest": 0.1239,
                "won_contest": 0.1239,
                "ball_recovery": 1.262,
                "challenges_lost": 0.1714,
                "fouls": 0.4751,
                "fouls_drawn": 0.3266,
                "blocks": 0.2944,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0103,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 8.4665,
                "total_progression": 25.3422,
                "progressive_carries": 0.382,
                "key_pass": 0.0467,
                "shots_off_target": 0.1535
              },
              "params": {
                "blend_weight": 0.01,
                "history_matches": 34,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.3564,
                "prior_reliability": 0.12,
                "competition": "La Liga",
                "squad": "Atlético Madrid"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 32.1 to 14.3 expected minutes (appearance prob 0.23)",
              "stats": {
                "interceptions": 0.1597,
                "tackles": 0.2341,
                "tackles_won": 0.1225,
                "clearances": 0.6496,
                "aerial_won": 0.3624,
                "total_shots": 0.0684,
                "rating": 6.7556,
                "minutes": 14.3,
                "total_pass": 9.6756,
                "accurate_pass": 8.6353,
                "duels_won": 0.8417,
                "total_long_balls": 1.1922,
                "accurate_long_balls": 0.6568,
                "total_own_half_passes": 6.535,
                "accurate_own_half_passes": 5.985,
                "total_opp_half_passes": 3.1406,
                "accurate_opp_half_passes": 2.6503,
                "crosses_total": 0.0491,
                "crosses_accurate": 0.0208,
                "touches": 11.6351,
                "possession_lost": 1.1874,
                "dispossessed": 0.0,
                "duels_lost": 0.4238,
                "aerial_lost": 0.3033,
                "total_contest": 0.0552,
                "won_contest": 0.0552,
                "ball_recovery": 0.5627,
                "challenges_lost": 0.1714,
                "fouls": 0.2118,
                "fouls_drawn": 0.1456,
                "blocks": 0.1313,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0046,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.775,
                "total_progression": 11.2994,
                "progressive_carries": 0.1703,
                "key_pass": 0.0208,
                "shots_off_target": 0.0684,
                "bench_appearance_probability": 0.232,
                "bench_expected_minutes": 14.3
              },
              "params": {
                "expected_minutes": 14.3,
                "projection_minutes": 32.08,
                "minutes_scale": 0.4459,
                "appearance_probability": 0.232
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0.1597,
                "tackles": 0.2341,
                "tackles_won": 0.1225,
                "clearances": 0.6496,
                "aerial_won": 0.3624,
                "total_shots": 0.0684,
                "rating": 6.7556,
                "minutes": 14.3,
                "total_pass": 9.6756,
                "accurate_pass": 8.6353,
                "duels_won": 0.8417,
                "total_long_balls": 1.1922,
                "accurate_long_balls": 0.6568,
                "total_own_half_passes": 6.535,
                "accurate_own_half_passes": 5.985,
                "total_opp_half_passes": 3.1406,
                "accurate_opp_half_passes": 2.6503,
                "crosses_total": 0.0491,
                "crosses_accurate": 0.0208,
                "touches": 11.6351,
                "possession_lost": 1.1874,
                "dispossessed": 0.0,
                "duels_lost": 0.4238,
                "aerial_lost": 0.3033,
                "total_contest": 0.0552,
                "won_contest": 0.0552,
                "ball_recovery": 0.5627,
                "challenges_lost": 0.1714,
                "fouls": 0.2118,
                "fouls_drawn": 0.1456,
                "blocks": 0.1313,
                "goals": 0.0,
                "goal_rate": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0046,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.775,
                "total_progression": 11.2994,
                "progressive_carries": 0.1703,
                "key_pass": 0.0208,
                "shots_off_target": 0.0684,
                "bench_appearance_probability": 0.232,
                "bench_expected_minutes": 14.3
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "not_projected_to_play",
              "description": "Not among the projected substitutes: no share of the team's goals or assists",
              "stats": {
                "interceptions": 0.1597,
                "tackles": 0.2341,
                "tackles_won": 0.1225,
                "clearances": 0.6496,
                "aerial_won": 0.3624,
                "total_shots": 0.0684,
                "rating": 6.7556,
                "minutes": 14.3,
                "total_pass": 9.6756,
                "accurate_pass": 8.6353,
                "duels_won": 0.8417,
                "total_long_balls": 1.1922,
                "accurate_long_balls": 0.6568,
                "total_own_half_passes": 6.535,
                "accurate_own_half_passes": 5.985,
                "total_opp_half_passes": 3.1406,
                "accurate_opp_half_passes": 2.6503,
                "crosses_total": 0.0491,
                "crosses_accurate": 0.0208,
                "touches": 11.6351,
                "possession_lost": 1.1874,
                "dispossessed": 0.0,
                "duels_lost": 0.4238,
                "aerial_lost": 0.3033,
                "total_contest": 0.0552,
                "won_contest": 0.0552,
                "ball_recovery": 0.5627,
                "challenges_lost": 0.1714,
                "fouls": 0.2118,
                "fouls_drawn": 0.1456,
                "blocks": 0.1313,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0046,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.775,
                "total_progression": 11.2994,
                "progressive_carries": 0.1703,
                "key_pass": 0.0208,
                "shots_off_target": 0.0684,
                "bench_appearance_probability": 0.232,
                "bench_expected_minutes": 14.3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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
              },
              "params": {
                "appearance_probability": 0.232,
                "projected_substitutes": 2,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 14 by projected rating, fifa_overall 81.0)",
              "stats": {
                "interceptions": 0.1597,
                "tackles": 0.2341,
                "tackles_won": 0.1225,
                "clearances": 0.6496,
                "aerial_won": 0.3624,
                "total_shots": 0.0684,
                "rating": 6.7556,
                "minutes": 14.3,
                "total_pass": 9.6756,
                "accurate_pass": 8.6353,
                "duels_won": 0.8417,
                "total_long_balls": 1.1922,
                "accurate_long_balls": 0.6568,
                "total_own_half_passes": 6.535,
                "accurate_own_half_passes": 5.985,
                "total_opp_half_passes": 3.1406,
                "accurate_opp_half_passes": 2.6503,
                "crosses_total": 0.0491,
                "crosses_accurate": 0.0208,
                "touches": 11.6351,
                "possession_lost": 1.1874,
                "dispossessed": 0.0,
                "duels_lost": 0.4238,
                "aerial_lost": 0.3033,
                "total_contest": 0.0552,
                "won_contest": 0.0552,
                "ball_recovery": 0.5627,
                "challenges_lost": 0.1714,
                "fouls": 0.2118,
                "fouls_drawn": 0.1456,
                "blocks": 0.1313,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0046,
                "shots_on_target": 0.0,
                "big_chances_created": 0.0,
                "xgot": 0.0,
                "ball_carries": 3.775,
                "total_progression": 11.2994,
                "progressive_carries": 0.1703,
                "key_pass": 0.0208,
                "shots_off_target": 0.0684,
                "bench_appearance_probability": 0.232,
                "bench_expected_minutes": 14.3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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": 81.0
              },
              "params": {
                "match_squad_rank": 14,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 701,
                "fifa_rank": 576.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 81.0
              }
            }
          ]
        },
        "Rodrigo Mendoza": {
          "player_id": 1391752,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 4,
          "height": 182,
          "market_value": 21000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0157,
            "assist_rate": 0.024,
            "assists": 0,
            "expected_goals": 0.0335,
            "goal_rate": 0.0327,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.6969,
            "minutes": 14,
            "total_pass": 9,
            "accurate_pass": 7,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 4,
            "accurate_own_half_passes": 3,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 4,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 12,
            "possession_lost": 2.7004,
            "dispossessed": 0.3603,
            "duels_lost": 2,
            "aerial_won": 0,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0017,
            "ball_carries": 4,
            "total_progression": 16,
            "progressive_carries": 0,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.452,
            "bench_expected_minutes": 13.55,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.324,
            "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": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16421082,
              "match_date": "2026-10-24",
              "home_team": "Atlético Madrid",
              "away_team": "Deportivo de A Coruña",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 10,
                "rating": 6.7,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0194,
                "expected_assists": 0.0018,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "total_pass": 4,
                "accurate_pass": 3,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421071,
              "match_date": "2026-10-17",
              "home_team": "Espanyol",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 23,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0144,
                "total_shots": 0,
                "total_pass": 33,
                "accurate_pass": 26,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316,
              "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": 12,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 1,
                "accurate_pass": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416302,
              "match_date": "2026-08-23",
              "home_team": "Atlético Madrid",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 45,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0839,
                "expected_assists": 0.0065,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 16,
                "accurate_pass": 14,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421055,
              "match_date": "2026-08-19",
              "home_team": "Atlético Madrid",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 57,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2244,
                "expected_assists": 0.0766,
                "total_shots": 3,
                "shots_on_target": 2,
                "total_pass": 22,
                "accurate_pass": 20,
                "tackles": 2,
                "tackles_won": 1,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 14083634,
              "match_date": "2026-05-12",
              "home_team": "Osasuna",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 18,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.3552,
                "expected_assists": 0.0003,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 4,
                "accurate_pass": 2,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083476,
              "match_date": "2026-05-02",
              "home_team": "Valencia",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Valencia",
              "stats": {
                "minutes": 73,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.5079,
                "expected_assists": 0.0226,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 35,
                "accurate_pass": 28,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083306,
              "match_date": "2026-04-22",
              "home_team": "Elche",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Elche",
              "stats": {
                "minutes": 62,
                "rating": 5.9,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_assists": 0.0929,
                "total_shots": 0,
                "total_pass": 13,
                "accurate_pass": 10,
                "key_pass": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083161,
              "match_date": "2026-04-11",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 71,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0182,
                "expected_assists": 0.0509,
                "total_shots": 1,
                "total_pass": 54,
                "accurate_pass": 49,
                "key_pass": 3,
                "clearances": 5,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083602,
              "match_date": "2026-03-07",
              "home_team": "Atlético Madrid",
              "away_team": "Real Sociedad",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 45,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0142,
                "total_shots": 0,
                "total_pass": 23,
                "accurate_pass": 17,
                "tackles": 2,
                "tackles_won": 2,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 1376,
            "combined_rank_score": 713.0,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 578.0,
            "sofascore_rating": 6.8,
            "sofascore_appearances": 1.0,
            "fifa_rank": 848.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6969,
            "source_file": "data/player_rankings.csv",
            "player_name": "Rodrigo Mendoza",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jemmes",
                  "ranking": 1371
                },
                {
                  "player_name": "Samandar Muratbaev",
                  "ranking": 1372
                },
                {
                  "player_name": "Kyeong-jae Kim",
                  "ranking": 1373
                },
                {
                  "player_name": "Jung-min Lee",
                  "ranking": 1374
                },
                {
                  "player_name": "Rafa Garrido",
                  "ranking": 1375
                }
              ],
              "lower": [
                {
                  "player_name": "Peque Fernández",
                  "ranking": 1377
                },
                {
                  "player_name": "Javi Morcillo",
                  "ranking": 1378
                },
                {
                  "player_name": "Luis Pacheco",
                  "ranking": 1379
                },
                {
                  "player_name": "Fredy Noguera",
                  "ranking": 1380
                },
                {
                  "player_name": "Guillermo Varela",
                  "ranking": 1381
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.762,
          "history_matches": 29,
          "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",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "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",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 29,
            "data_confidence": 0.762,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 13.55,
            "bench_appearance_prob": 0.452,
            "market_value_adjustment": 1.006,
            "fbref_prior_metrics": {
              "squad": "Atlético Madrid",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 2.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 6.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.08
            },
            "rationale": "Bench projection scaled from XGBoost M_service (29 historical appearances) to 13.6 expected mins (appearance prob 0.45); FBref playing time empirical prior: 1.0 sub appearances, 6.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.2922,
                "expected_assists": 0.0237,
                "assists": 0.0365,
                "assist_rate": 0.0365,
                "expected_goals": 0.0508,
                "goals": 0.05,
                "goal_rate": 0.05,
                "shots_on_target": 0.1671,
                "total_shots": 0.57,
                "rating": 6.6969,
                "minutes": 20.65,
                "total_pass": 13.789,
                "accurate_pass": 11.2762,
                "duels_won": 1.6444,
                "total_long_balls": 0.7004,
                "accurate_long_balls": 0.2965,
                "total_own_half_passes": 6.1016,
                "accurate_own_half_passes": 5.0482,
                "total_opp_half_passes": 7.6874,
                "accurate_opp_half_passes": 6.228,
                "crosses_total": 0.3316,
                "crosses_accurate": 0.1534,
                "touches": 18.7216,
                "possession_lost": 4.0908,
                "dispossessed": 0.3582,
                "duels_lost": 2.3203,
                "aerial_won": 0.4087,
                "aerial_lost": 0.6985,
                "interceptions": 0.0465,
                "tackles_won": 0.452,
                "tackles": 0.4856,
                "clearances": 0.1048,
                "total_contest": 0.6194,
                "won_contest": 0.1866,
                "challenges_lost": 0.2546,
                "fouls": 0.6098,
                "fouls_drawn": 0.5635,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0026,
                "ball_carries": 5.874,
                "total_progression": 23.5054,
                "progressive_carries": 0.4525,
                "shots_off_target": 0.4029
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 10.0,
                    "is_starting": false,
                    "weight": 0.1514,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Espanyol",
                    "minutes": 23.0,
                    "is_starting": false,
                    "weight": 0.1287,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Sevilla",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.1094,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-23",
                    "opponent": "Villarreal",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.093,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-19",
                    "opponent": "Málaga CF",
                    "minutes": 57.0,
                    "is_starting": true,
                    "weight": 0.079,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-05-12",
                    "opponent": "Osasuna",
                    "minutes": 18.0,
                    "is_starting": true,
                    "weight": 0.0672,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-05-02",
                    "opponent": "Valencia",
                    "minutes": 73.0,
                    "is_starting": true,
                    "weight": 0.0571,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-04-22",
                    "opponent": "Elche",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.0485,
                    "rating": 5.9
                  },
                  {
                    "match_date": "2026-04-11",
                    "opponent": "Sevilla",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.0412,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-03-07",
                    "opponent": "Real Sociedad",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.0351,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.8822,
                  "creative_index": 0.1165,
                  "expectedGoals": 0.0877,
                  "expectedAssists": 0.0247,
                  "totalOppositionHalfPasses": 12.0054
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.29218295216560364,
                    "model_output": 0.2922,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4277
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0488
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0436
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0354
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.016
                        }
                      ],
                      "others": -0.0266,
                      "total": 0.2922,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.65473
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.111558
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.111354
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.100546
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": -0.04887
                        }
                      ],
                      "others_margin": -0.08709
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.023716742172837257,
                    "model_output": 0.0237,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0373
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0096
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.007
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0023
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0014
                        }
                      ],
                      "others": -0.0036,
                      "total": 0.0237,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.578377
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.225186
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.20302
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.077512
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.051549
                        }
                      ],
                      "others_margin": -0.14015
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.0365464873611927,
                    "model_output": 0.0365,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0217
                        },
                        {
                          "name": "totalCross",
                          "contribution": -0.0102
                        },
                        {
                          "name": "creative_index",
                          "contribution": -0.0046
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0041
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0018
                        }
                      ],
                      "others": -0.0061,
                      "total": 0.0365,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.294564
                        },
                        {
                          "name": "totalCross",
                          "margin": -0.176123
                        },
                        {
                          "name": "creative_index",
                          "margin": -0.089987
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.087442
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.041697
                        }
                      ],
                      "others_margin": -0.15452
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.050771281123161316,
                    "model_output": 0.0508,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0389
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0054
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0023
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0014
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0013
                        }
                      ],
                      "others": -0.0047,
                      "total": 0.0508,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.555021
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.098047
                        },
                        {
                          "name": "goals",
                          "margin": -0.041145
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.025436
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.023186
                        }
                      ],
                      "others_margin": -0.087877
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.04996103048324585,
                    "model_output": 0.05,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0357
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0075
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0064
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0023
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": -0.0015
                        }
                      ],
                      "others": -0.0044,
                      "total": 0.05,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.471778
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.135041
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.116167
                        },
                        {
                          "name": "totalProgression",
                          "margin": -0.040421
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": -0.027291
                        }
                      ],
                      "others_margin": -0.084118
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.16706037521362305,
                    "model_output": 0.1671,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1504
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0117
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.012
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.009
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0068
                        }
                      ],
                      "others": -0.0267,
                      "total": 0.1671,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.639838
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.067626
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.064901
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.046039
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.034634
                        }
                      ],
                      "others_margin": -0.148722
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.5699307918548584,
                    "model_output": 0.5699,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.4412
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0364
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.0324
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": 0.0217
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": 0.0122
                        }
                      ],
                      "others": -0.0029,
                      "total": 0.5699,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.441193
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.036422
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.032436
                        },
                        {
                          "name": "interceptionWon",
                          "margin": 0.021669
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": 0.012187
                        }
                      ],
                      "others_margin": -0.002854
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.696889400482178,
                    "model_output": 6.6969,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0786
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0325
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": -0.0231
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": -0.0117
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": -0.0075
                        }
                      ],
                      "others": -0.0049,
                      "total": 6.6969,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.078644
                        },
                        {
                          "name": "rating",
                          "margin": -0.032509
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": -0.023122
                        },
                        {
                          "name": "expectedAssists",
                          "margin": -0.011669
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": -0.007512
                        }
                      ],
                      "others_margin": -0.00485
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 29,
                  "role_matches": 13,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0060, quality 0.641)",
              "stats": {
                "key_pass": 0.2939,
                "expected_assists": 0.0239,
                "assists": 0.0368,
                "assist_rate": 0.0368,
                "expected_goals": 0.0511,
                "goals": 0.0503,
                "goal_rate": 0.0503,
                "shots_on_target": 0.1681,
                "total_shots": 0.5734,
                "rating": 6.6969,
                "minutes": 20.65,
                "total_pass": 13.8717,
                "accurate_pass": 11.3439,
                "duels_won": 1.6543,
                "total_long_balls": 0.7046,
                "accurate_long_balls": 0.2983,
                "total_own_half_passes": 6.1382,
                "accurate_own_half_passes": 5.0785,
                "total_opp_half_passes": 7.7335,
                "accurate_opp_half_passes": 6.2654,
                "crosses_total": 0.3336,
                "crosses_accurate": 0.1543,
                "touches": 18.8339,
                "possession_lost": 4.1153,
                "dispossessed": 0.3603,
                "duels_lost": 2.3342,
                "aerial_won": 0.4112,
                "aerial_lost": 0.7027,
                "interceptions": 0.0468,
                "tackles_won": 0.4547,
                "tackles": 0.4885,
                "clearances": 0.1054,
                "total_contest": 0.6231,
                "won_contest": 0.1877,
                "challenges_lost": 0.2561,
                "fouls": 0.6135,
                "fouls_drawn": 0.5669,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0026,
                "ball_carries": 5.9092,
                "total_progression": 23.6464,
                "progressive_carries": 0.4552,
                "shots_off_target": 0.4053
              },
              "params": {
                "market_value_eur": 21000000,
                "quality_factor": 0.6408,
                "boost_factor": 1.006,
                "reference_quality": 0.505,
                "history_matches": 29,
                "history_shrink": 0.1471,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0076)",
              "stats": {
                "key_pass": 0.2939,
                "expected_assists": 0.0239,
                "assists": 0.0365,
                "assist_rate": 0.0365,
                "expected_goals": 0.0511,
                "goals": 0.0499,
                "goal_rate": 0.0499,
                "shots_on_target": 0.1712,
                "total_shots": 0.5764,
                "rating": 6.6969,
                "minutes": 20.65,
                "total_pass": 13.8717,
                "accurate_pass": 11.3439,
                "duels_won": 1.6543,
                "total_long_balls": 0.7046,
                "accurate_long_balls": 0.2983,
                "total_own_half_passes": 6.1382,
                "accurate_own_half_passes": 5.0785,
                "total_opp_half_passes": 7.7335,
                "accurate_opp_half_passes": 6.2654,
                "crosses_total": 0.3325,
                "crosses_accurate": 0.1543,
                "touches": 18.8339,
                "possession_lost": 4.1153,
                "dispossessed": 0.3603,
                "duels_lost": 2.3342,
                "aerial_won": 0.4112,
                "aerial_lost": 0.7027,
                "interceptions": 0.0464,
                "tackles_won": 0.4541,
                "tackles": 0.4885,
                "clearances": 0.1054,
                "total_contest": 0.6231,
                "won_contest": 0.1877,
                "challenges_lost": 0.2561,
                "fouls": 0.6103,
                "fouls_drawn": 0.564,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0026,
                "ball_carries": 5.9092,
                "total_progression": 23.6464,
                "progressive_carries": 0.4552,
                "shots_off_target": 0.4053
              },
              "params": {
                "blend_weight": 0.0076,
                "history_matches": 29,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2294,
                "prior_reliability": 0.08,
                "competition": "La Liga",
                "squad": "Atlético Madrid"
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 20.6 to 13.6 expected minutes (appearance prob 0.45)",
              "stats": {
                "key_pass": 0.1928,
                "expected_assists": 0.0157,
                "assists": 0.024,
                "assist_rate": 0.024,
                "expected_goals": 0.0335,
                "goals": 0.0327,
                "goal_rate": 0.0327,
                "shots_on_target": 0.1123,
                "total_shots": 0.3783,
                "rating": 6.6969,
                "minutes": 13.55,
                "total_pass": 9.1023,
                "accurate_pass": 7.4436,
                "duels_won": 1.0855,
                "total_long_balls": 0.4623,
                "accurate_long_balls": 0.1957,
                "total_own_half_passes": 4.0277,
                "accurate_own_half_passes": 3.3324,
                "total_opp_half_passes": 5.0745,
                "accurate_opp_half_passes": 4.1112,
                "crosses_total": 0.2182,
                "crosses_accurate": 0.1012,
                "touches": 12.3583,
                "possession_lost": 2.7004,
                "dispossessed": 0.3603,
                "duels_lost": 1.5316,
                "aerial_won": 0.2698,
                "aerial_lost": 0.7027,
                "interceptions": 0.0304,
                "tackles_won": 0.298,
                "tackles": 0.3205,
                "clearances": 0.0692,
                "total_contest": 0.4089,
                "won_contest": 0.1232,
                "challenges_lost": 0.2561,
                "fouls": 0.4005,
                "fouls_drawn": 0.3701,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0017,
                "ball_carries": 3.8775,
                "total_progression": 15.5162,
                "progressive_carries": 0.2987,
                "shots_off_target": 0.2659,
                "bench_appearance_probability": 0.452,
                "bench_expected_minutes": 13.55
              },
              "params": {
                "expected_minutes": 13.55,
                "projection_minutes": 20.65,
                "minutes_scale": 0.6562,
                "appearance_probability": 0.452
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.1928,
                "expected_assists": 0.0157,
                "assists": 0.024,
                "assist_rate": 0.024,
                "expected_goals": 0.0335,
                "goals": 0.0327,
                "goal_rate": 0.0327,
                "shots_on_target": 0.1123,
                "total_shots": 0.3783,
                "rating": 6.6969,
                "minutes": 13.55,
                "total_pass": 9.1023,
                "accurate_pass": 7.4436,
                "duels_won": 1.0855,
                "total_long_balls": 0.4623,
                "accurate_long_balls": 0.1957,
                "total_own_half_passes": 4.0277,
                "accurate_own_half_passes": 3.3324,
                "total_opp_half_passes": 5.0745,
                "accurate_opp_half_passes": 4.1112,
                "crosses_total": 0.2182,
                "crosses_accurate": 0.1012,
                "touches": 12.3583,
                "possession_lost": 2.7004,
                "dispossessed": 0.3603,
                "duels_lost": 1.5316,
                "aerial_won": 0.2698,
                "aerial_lost": 0.7027,
                "interceptions": 0.0304,
                "tackles_won": 0.298,
                "tackles": 0.3205,
                "clearances": 0.0692,
                "total_contest": 0.4089,
                "won_contest": 0.1232,
                "challenges_lost": 0.2561,
                "fouls": 0.4005,
                "fouls_drawn": 0.3701,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0017,
                "ball_carries": 3.8775,
                "total_progression": 15.5162,
                "progressive_carries": 0.2987,
                "shots_off_target": 0.2659,
                "bench_appearance_probability": 0.452,
                "bench_expected_minutes": 13.55
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "not_projected_to_play",
              "description": "Not among the projected substitutes: no share of the team's goals or assists",
              "stats": {
                "key_pass": 0.1928,
                "expected_assists": 0.0157,
                "assist_rate": 0.024,
                "assists": 0,
                "expected_goals": 0.0335,
                "goal_rate": 0.0327,
                "goals": 0,
                "shots_on_target": 0.1123,
                "total_shots": 0.3783,
                "rating": 6.6969,
                "minutes": 13.55,
                "total_pass": 9.1023,
                "accurate_pass": 7.4436,
                "duels_won": 1.0855,
                "total_long_balls": 0.4623,
                "accurate_long_balls": 0.1957,
                "total_own_half_passes": 4.0277,
                "accurate_own_half_passes": 3.3324,
                "total_opp_half_passes": 5.0745,
                "accurate_opp_half_passes": 4.1112,
                "crosses_total": 0.2182,
                "crosses_accurate": 0.1012,
                "touches": 12.3583,
                "possession_lost": 2.7004,
                "dispossessed": 0.3603,
                "duels_lost": 1.5316,
                "aerial_won": 0.2698,
                "aerial_lost": 0.7027,
                "interceptions": 0.0304,
                "tackles_won": 0.298,
                "tackles": 0.3205,
                "clearances": 0.0692,
                "total_contest": 0.4089,
                "won_contest": 0.1232,
                "challenges_lost": 0.2561,
                "fouls": 0.4005,
                "fouls_drawn": 0.3701,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0017,
                "ball_carries": 3.8775,
                "total_progression": 15.5162,
                "progressive_carries": 0.2987,
                "shots_off_target": 0.2659,
                "bench_appearance_probability": 0.452,
                "bench_expected_minutes": 13.55,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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
              },
              "params": {
                "appearance_probability": 0.452,
                "projected_substitutes": 2,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 16 by projected rating, fifa_overall 79.0)",
              "stats": {
                "key_pass": 0.1928,
                "expected_assists": 0.0157,
                "assist_rate": 0.024,
                "assists": 0,
                "expected_goals": 0.0335,
                "goal_rate": 0.0327,
                "goals": 0,
                "shots_on_target": 0.1123,
                "total_shots": 0.3783,
                "rating": 6.6969,
                "minutes": 13.55,
                "total_pass": 9.1023,
                "accurate_pass": 7.4436,
                "duels_won": 1.0855,
                "total_long_balls": 0.4623,
                "accurate_long_balls": 0.1957,
                "total_own_half_passes": 4.0277,
                "accurate_own_half_passes": 3.3324,
                "total_opp_half_passes": 5.0745,
                "accurate_opp_half_passes": 4.1112,
                "crosses_total": 0.2182,
                "crosses_accurate": 0.1012,
                "touches": 12.3583,
                "possession_lost": 2.7004,
                "dispossessed": 0.3603,
                "duels_lost": 1.5316,
                "aerial_won": 0.2698,
                "aerial_lost": 0.7027,
                "interceptions": 0.0304,
                "tackles_won": 0.298,
                "tackles": 0.3205,
                "clearances": 0.0692,
                "total_contest": 0.4089,
                "won_contest": 0.1232,
                "challenges_lost": 0.2561,
                "fouls": 0.4005,
                "fouls_drawn": 0.3701,
                "blocks": 0.0,
                "big_chances_created": 0.0,
                "big_chances_missed": 0.0,
                "xgot": 0.0017,
                "ball_carries": 3.8775,
                "total_progression": 15.5162,
                "progressive_carries": 0.2987,
                "shots_off_target": 0.2659,
                "bench_appearance_probability": 0.452,
                "bench_expected_minutes": 13.55,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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": 79.0
              },
              "params": {
                "match_squad_rank": 16,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv_filled",
                "ranking_status": "combined",
                "global_player_rank": 1376,
                "fifa_rank": 848.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 79.0
              }
            }
          ]
        },
        "Thiago Almada": {
          "player_id": 944660,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 11,
          "height": 171,
          "market_value": 21000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0535,
            "assist_rate": 0.0829,
            "assists": 0,
            "expected_goals": 0.0208,
            "goal_rate": 0.0323,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.7197,
            "minutes": 23,
            "total_pass": 13,
            "accurate_pass": 12,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 4,
            "accurate_own_half_passes": 4,
            "total_opp_half_passes": 8,
            "accurate_opp_half_passes": 7,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 17,
            "possession_lost": 2.9599,
            "dispossessed": 0.2125,
            "duels_lost": 2,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.1206,
            "ball_carries": 6,
            "total_progression": 22,
            "progressive_carries": 2,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.535,
            "bench_expected_minutes": 22.78,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.324,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0204,
            "projected_assists": 0,
            "assist_probability": 0.0509,
            "finishing_factor": 1.0633,
            "creation_factor": 1.1029,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 14083661,
              "match_date": "2026-05-17",
              "home_team": "Atlético Madrid",
              "away_team": "Girona FC",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Girona FC",
              "stats": {
                "minutes": 45,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.307,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 14,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 2,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083634,
              "match_date": "2026-05-12",
              "home_team": "Osasuna",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 45,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0113,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 13,
                "tackles": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083551,
              "match_date": "2026-05-09",
              "home_team": "Atlético Madrid",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 29,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0245,
                "expected_assists": 0.188,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 16,
                "accurate_pass": 15,
                "key_pass": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083476,
              "match_date": "2026-05-02",
              "home_team": "Valencia",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Valencia",
              "stats": {
                "minutes": 73,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1554,
                "expected_assists": 0.2913,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 29,
                "accurate_pass": 26,
                "key_pass": 3,
                "tackles": 1,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083306,
              "match_date": "2026-04-22",
              "home_team": "Elche",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Elche",
              "stats": {
                "minutes": 30,
                "rating": 4.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0072,
                "total_shots": 0,
                "total_pass": 8,
                "accurate_pass": 7,
                "tackles": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083161,
              "match_date": "2026-04-11",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0359,
                "expected_assists": 0.5165,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 58,
                "accurate_pass": 49,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14081810,
              "match_date": "2026-04-04",
              "home_team": "Atlético Madrid",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0107,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 22,
                "tackles": 4,
                "tackles_won": 3,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 8,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083612,
              "match_date": "2026-03-14",
              "home_team": "Atlético Madrid",
              "away_team": "Getafe",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Getafe",
              "stats": {
                "minutes": 66,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.02,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 18,
                "tackles": 3,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083602,
              "match_date": "2026-03-07",
              "home_team": "Atlético Madrid",
              "away_team": "Real Sociedad",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 54,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.107,
                "total_shots": 0,
                "total_pass": 33,
                "accurate_pass": 30,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14081795,
              "match_date": "2026-02-28",
              "home_team": "Real Oviedo",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Oviedo",
              "stats": {
                "minutes": 72,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0308,
                "expected_assists": 0.054,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 41,
                "accurate_pass": 37,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 2519,
            "combined_rank_score": 908.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 576.0,
            "sofascore_rating": 6.8037,
            "sofascore_appearances": 27.0,
            "fifa_rank": 1240.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7197,
            "source_file": "data/player_rankings.csv",
            "player_name": "Thiago Almada",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jens Stage",
                  "ranking": 2514
                },
                {
                  "player_name": "Seol Hyun-Jin",
                  "ranking": 2515
                },
                {
                  "player_name": "Dramane Salou",
                  "ranking": 2516
                },
                {
                  "player_name": "Moritz Nicolas",
                  "ranking": 2517
                },
                {
                  "player_name": "El Hadji Malick Diouf",
                  "ranking": 2518
                }
              ],
              "lower": [
                {
                  "player_name": "Jacob Ramsey",
                  "ranking": 2520
                },
                {
                  "player_name": "Wilfried Singo",
                  "ranking": 2521
                },
                {
                  "player_name": "Noah Okafor",
                  "ranking": 2522
                },
                {
                  "player_name": "Noah Atubolu",
                  "ranking": 2523
                },
                {
                  "player_name": "Stole Dimitrievski",
                  "ranking": 2524
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 27,
          "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",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "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",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 27,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 22.77746860076133,
            "bench_appearance_prob": 0.5353394818527877,
            "market_value_adjustment": 1.0064,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost M_service (27 historical appearances) to 22.8 expected mins (appearance prob 0.54)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.9016,
                "expected_assists": 0.0773,
                "assists": 0.0909,
                "assist_rate": 0.0909,
                "expected_goals": 0.03,
                "goals": 0.0355,
                "goal_rate": 0.0355,
                "shots_on_target": 0.134,
                "total_shots": 0.3857,
                "rating": 6.7197,
                "minutes": 25.15,
                "total_pass": 13.9279,
                "accurate_pass": 12.6206,
                "duels_won": 1.2627,
                "total_long_balls": 0.3609,
                "accurate_long_balls": 0.1359,
                "total_own_half_passes": 4.8249,
                "accurate_own_half_passes": 4.4307,
                "total_opp_half_passes": 9.1029,
                "accurate_opp_half_passes": 8.1898,
                "crosses_total": 1.2271,
                "crosses_accurate": 0.1302,
                "touches": 19.1548,
                "possession_lost": 3.2474,
                "dispossessed": 0.2111,
                "duels_lost": 1.7545,
                "aerial_won": 0.0799,
                "aerial_lost": 0.2009,
                "interceptions": 0.4094,
                "tackles_won": 0.3958,
                "tackles": 0.3958,
                "clearances": 0.0932,
                "total_contest": 0.8204,
                "won_contest": 0.5723,
                "challenges_lost": 0.7664,
                "fouls": 0.328,
                "fouls_drawn": 0.2147,
                "blocks": 0.0,
                "big_chances_created": 0.2789,
                "big_chances_missed": 0.2227,
                "xgot": 0.1743,
                "ball_carries": 6.778,
                "total_progression": 24.4371,
                "progressive_carries": 2.3425,
                "shots_off_target": 0.2517
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Girona FC",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.1519,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-05-12",
                    "opponent": "Osasuna",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.1291,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Celta Vigo",
                    "minutes": 29.0,
                    "is_starting": false,
                    "weight": 0.1097,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-05-02",
                    "opponent": "Valencia",
                    "minutes": 73.0,
                    "is_starting": true,
                    "weight": 0.0933,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-04-22",
                    "opponent": "Elche",
                    "minutes": 30.0,
                    "is_starting": true,
                    "weight": 0.0793,
                    "rating": 4.5
                  },
                  {
                    "match_date": "2026-04-11",
                    "opponent": "Sevilla",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0674,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-04-04",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0573,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-03-14",
                    "opponent": "Getafe",
                    "minutes": 66.0,
                    "is_starting": true,
                    "weight": 0.0487,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-03-07",
                    "opponent": "Real Sociedad",
                    "minutes": 54.0,
                    "is_starting": true,
                    "weight": 0.0414,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-02-28",
                    "opponent": "Real Oviedo",
                    "minutes": 72.0,
                    "is_starting": true,
                    "weight": 0.0352,
                    "rating": 6.8
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.5334,
                  "creative_index": 0.6009,
                  "expectedGoals": 0.0557,
                  "expectedAssists": 0.1516,
                  "totalOppositionHalfPasses": 15.6208
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.9015519618988037,
                    "model_output": 0.9016,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.344
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0704
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0528
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0342
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0244
                        }
                      ],
                      "others": 0.1735,
                      "total": 0.9016,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.488365
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.121164
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.082189
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": 0.049787
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.034112
                        }
                      ],
                      "others_margin": 0.213701
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.07730595767498016,
                    "model_output": 0.0773,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0349
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0058
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0057
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": 0.0029
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.003
                        }
                      ],
                      "others": 0.0099,
                      "total": 0.0773,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.528233
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.109264
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.096397
                        },
                        {
                          "name": "cross_creative_contribution",
                          "margin": 0.046511
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.045188
                        }
                      ],
                      "others_margin": 0.136669
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.09088101983070374,
                    "model_output": 0.0909,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0178
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.007
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0061
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.005
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0038
                        }
                      ],
                      "others": 0.0118,
                      "total": 0.0909,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.234286
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.099307
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.078558
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.06486
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.048673
                        }
                      ],
                      "others_margin": 0.139241
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.0300334133207798,
                    "model_output": 0.03,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0446
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0076
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0027
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.002
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0013
                        }
                      ],
                      "others": -0.0032,
                      "total": 0.03,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.669051
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.176942
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.072563
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.055606
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.037742
                        }
                      ],
                      "others_margin": -0.101363
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.0355110764503479,
                    "model_output": 0.0355,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0397
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.011
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0028
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0016
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0014
                        }
                      ],
                      "others": -0.0058,
                      "total": 0.0355,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.541373
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.222639
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.065139
                        },
                        {
                          "name": "totalProgression",
                          "margin": -0.038599
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.03535
                        }
                      ],
                      "others_margin": -0.15148
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.1339651346206665,
                    "model_output": 0.134,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1392
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0389
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0064
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0052
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0035
                        }
                      ],
                      "others": 0.0019,
                      "total": 0.134,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.57517
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.245166
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.046959
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": -0.039582
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.026753
                        }
                      ],
                      "others_margin": 0.014719
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.3857114315032959,
                    "model_output": 0.3857,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3339
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.2264
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.034
                        },
                        {
                          "name": "dispossessed",
                          "contribution": 0.0177
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0144
                        }
                      ],
                      "others": -0.0074,
                      "total": 0.3857,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.33395
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.226375
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.03401
                        },
                        {
                          "name": "dispossessed",
                          "margin": 0.017732
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.014427
                        }
                      ],
                      "others_margin": -0.007367
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.719694137573242,
                    "model_output": 6.7197,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0895
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0335
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0099
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0092
                        },
                        {
                          "name": "creative_efficiency",
                          "contribution": 0.0082
                        }
                      ],
                      "others": -0.02,
                      "total": 6.7197,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.089527
                        },
                        {
                          "name": "rating",
                          "margin": -0.033528
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.009854
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.009217
                        },
                        {
                          "name": "creative_efficiency",
                          "margin": 0.008155
                        }
                      ],
                      "others_margin": -0.019964
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 27,
                  "role_matches": 11,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0064, quality 0.641)",
              "stats": {
                "key_pass": 0.9073,
                "expected_assists": 0.0778,
                "assists": 0.0915,
                "assist_rate": 0.0915,
                "expected_goals": 0.0302,
                "goals": 0.0357,
                "goal_rate": 0.0357,
                "shots_on_target": 0.1348,
                "total_shots": 0.3882,
                "rating": 6.7197,
                "minutes": 25.15,
                "total_pass": 14.017,
                "accurate_pass": 12.7014,
                "duels_won": 1.2708,
                "total_long_balls": 0.3632,
                "accurate_long_balls": 0.1368,
                "total_own_half_passes": 4.8558,
                "accurate_own_half_passes": 4.4591,
                "total_opp_half_passes": 9.1612,
                "accurate_opp_half_passes": 8.2422,
                "crosses_total": 1.235,
                "crosses_accurate": 0.131,
                "touches": 19.2774,
                "possession_lost": 3.2682,
                "dispossessed": 0.2125,
                "duels_lost": 1.7657,
                "aerial_won": 0.0804,
                "aerial_lost": 0.2022,
                "interceptions": 0.412,
                "tackles_won": 0.3983,
                "tackles": 0.3983,
                "clearances": 0.0938,
                "total_contest": 0.8257,
                "won_contest": 0.576,
                "challenges_lost": 0.7713,
                "fouls": 0.3301,
                "fouls_drawn": 0.2161,
                "blocks": 0.0,
                "big_chances_created": 0.2807,
                "big_chances_missed": 0.2241,
                "xgot": 0.1754,
                "ball_carries": 6.8214,
                "total_progression": 24.5935,
                "progressive_carries": 2.3575,
                "shots_off_target": 0.2533
              },
              "params": {
                "market_value_eur": 21000000,
                "quality_factor": 0.6408,
                "boost_factor": 1.0064,
                "reference_quality": 0.505,
                "history_matches": 27,
                "history_shrink": 0.1562,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 25.1 to 22.8 expected minutes (appearance prob 0.54)",
              "stats": {
                "key_pass": 0.8217,
                "expected_assists": 0.0705,
                "assists": 0.0829,
                "assist_rate": 0.0829,
                "expected_goals": 0.0274,
                "goals": 0.0323,
                "goal_rate": 0.0323,
                "shots_on_target": 0.1221,
                "total_shots": 0.3516,
                "rating": 6.7197,
                "minutes": 22.78,
                "total_pass": 12.6947,
                "accurate_pass": 11.5032,
                "duels_won": 1.1509,
                "total_long_balls": 0.3289,
                "accurate_long_balls": 0.1239,
                "total_own_half_passes": 4.3977,
                "accurate_own_half_passes": 4.0384,
                "total_opp_half_passes": 8.297,
                "accurate_opp_half_passes": 7.4647,
                "crosses_total": 1.1185,
                "crosses_accurate": 0.1186,
                "touches": 17.4589,
                "possession_lost": 2.9599,
                "dispossessed": 0.2125,
                "duels_lost": 1.5991,
                "aerial_won": 0.0728,
                "aerial_lost": 0.2022,
                "interceptions": 0.3731,
                "tackles_won": 0.3607,
                "tackles": 0.3607,
                "clearances": 0.085,
                "total_contest": 0.7478,
                "won_contest": 0.5217,
                "challenges_lost": 0.7713,
                "fouls": 0.299,
                "fouls_drawn": 0.1957,
                "blocks": 0.0,
                "big_chances_created": 0.2542,
                "big_chances_missed": 0.203,
                "xgot": 0.1589,
                "ball_carries": 6.1779,
                "total_progression": 22.2735,
                "progressive_carries": 2.1351,
                "shots_off_target": 0.2294,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 22.78
              },
              "params": {
                "expected_minutes": 22.78,
                "projection_minutes": 25.15,
                "minutes_scale": 0.9057,
                "appearance_probability": 0.535
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.8217,
                "expected_assists": 0.0705,
                "assists": 0.0829,
                "assist_rate": 0.0829,
                "expected_goals": 0.0274,
                "goals": 0.0323,
                "goal_rate": 0.0323,
                "shots_on_target": 0.1221,
                "total_shots": 0.3516,
                "rating": 6.7197,
                "minutes": 22.78,
                "total_pass": 12.6947,
                "accurate_pass": 11.5032,
                "duels_won": 1.1509,
                "total_long_balls": 0.3289,
                "accurate_long_balls": 0.1239,
                "total_own_half_passes": 4.3977,
                "accurate_own_half_passes": 4.0384,
                "total_opp_half_passes": 8.297,
                "accurate_opp_half_passes": 7.4647,
                "crosses_total": 1.1185,
                "crosses_accurate": 0.1186,
                "touches": 17.4589,
                "possession_lost": 2.9599,
                "dispossessed": 0.2125,
                "duels_lost": 1.5991,
                "aerial_won": 0.0728,
                "aerial_lost": 0.2022,
                "interceptions": 0.3731,
                "tackles_won": 0.3607,
                "tackles": 0.3607,
                "clearances": 0.085,
                "total_contest": 0.7478,
                "won_contest": 0.5217,
                "challenges_lost": 0.7713,
                "fouls": 0.299,
                "fouls_drawn": 0.1957,
                "blocks": 0.0,
                "big_chances_created": 0.2542,
                "big_chances_missed": 0.203,
                "xgot": 0.1589,
                "ball_carries": 6.1779,
                "total_progression": 22.2735,
                "progressive_carries": 2.1351,
                "shots_off_target": 0.2294,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 22.78
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 0.8217,
                "expected_assists": 0.0705,
                "assist_rate": 0.0829,
                "assists": 0,
                "expected_goals": 0.0274,
                "goal_rate": 0.0323,
                "goals": 0,
                "shots_on_target": 0.1221,
                "total_shots": 0.3516,
                "rating": 6.7197,
                "minutes": 22.78,
                "total_pass": 12.6947,
                "accurate_pass": 11.5032,
                "duels_won": 1.1509,
                "total_long_balls": 0.3289,
                "accurate_long_balls": 0.1239,
                "total_own_half_passes": 4.3977,
                "accurate_own_half_passes": 4.0384,
                "total_opp_half_passes": 8.297,
                "accurate_opp_half_passes": 7.4647,
                "crosses_total": 1.1185,
                "crosses_accurate": 0.1186,
                "touches": 17.4589,
                "possession_lost": 2.9599,
                "dispossessed": 0.2125,
                "duels_lost": 1.5991,
                "aerial_won": 0.0728,
                "aerial_lost": 0.2022,
                "interceptions": 0.3731,
                "tackles_won": 0.3607,
                "tackles": 0.3607,
                "clearances": 0.085,
                "total_contest": 0.7478,
                "won_contest": 0.5217,
                "challenges_lost": 0.7713,
                "fouls": 0.299,
                "fouls_drawn": 0.1957,
                "blocks": 0.0,
                "big_chances_created": 0.2542,
                "big_chances_missed": 0.203,
                "xgot": 0.1589,
                "ball_carries": 6.1779,
                "total_progression": 22.2735,
                "progressive_carries": 2.1351,
                "shots_off_target": 0.2294,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 22.78,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 2.27 (squad xG sum 1.5979, xG scale 1.4181, xA scale 1.4181, team xA 1.65 = 0.73 x lambda)",
              "stats": {
                "key_pass": 0.8217,
                "expected_assists": 0.0535,
                "assist_rate": 0.0829,
                "assists": 0,
                "expected_goals": 0.0208,
                "goal_rate": 0.0323,
                "goals": 0,
                "shots_on_target": 0.1221,
                "total_shots": 0.3516,
                "rating": 6.7197,
                "minutes": 22.78,
                "total_pass": 12.6947,
                "accurate_pass": 11.5032,
                "duels_won": 1.1509,
                "total_long_balls": 0.3289,
                "accurate_long_balls": 0.1239,
                "total_own_half_passes": 4.3977,
                "accurate_own_half_passes": 4.0384,
                "total_opp_half_passes": 8.297,
                "accurate_opp_half_passes": 7.4647,
                "crosses_total": 1.1185,
                "crosses_accurate": 0.1186,
                "touches": 17.4589,
                "possession_lost": 2.9599,
                "dispossessed": 0.2125,
                "duels_lost": 1.5991,
                "aerial_won": 0.0728,
                "aerial_lost": 0.2022,
                "interceptions": 0.3731,
                "tackles_won": 0.3607,
                "tackles": 0.3607,
                "clearances": 0.085,
                "total_contest": 0.7478,
                "won_contest": 0.5217,
                "challenges_lost": 0.7713,
                "fouls": 0.299,
                "fouls_drawn": 0.1957,
                "blocks": 0.0,
                "big_chances_created": 0.2542,
                "big_chances_missed": 0.203,
                "xgot": 0.1206,
                "ball_carries": 6.1779,
                "total_progression": 22.2735,
                "progressive_carries": 2.1351,
                "shots_off_target": 0.2294,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 22.78,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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,
                "finishing_factor": 1.0633,
                "creation_factor": 1.1029
              },
              "params": {
                "team_lambda": 2.266,
                "squad_xg_sum": 1.5979,
                "squad_xa_sum": 1.1609,
                "team_expected_assists": 1.6463,
                "team_xa_to_xg_ratio": 0.7265,
                "bench_appearance_weighted": true,
                "xg_scale": 1.4181,
                "xa_scale": 1.4181,
                "opponent_lambda": 1.191,
                "scoreline_reset": true,
                "appearance_weight": 0.535
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0274,
                  "after": 0.0208
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0705,
                  "after": 0.0535
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 15 by projected rating, fifa_overall 78.0)",
              "stats": {
                "key_pass": 0.8217,
                "expected_assists": 0.0535,
                "assist_rate": 0.0829,
                "assists": 0,
                "expected_goals": 0.0208,
                "goal_rate": 0.0323,
                "goals": 0,
                "shots_on_target": 0.1221,
                "total_shots": 0.3516,
                "rating": 6.7197,
                "minutes": 22.78,
                "total_pass": 12.6947,
                "accurate_pass": 11.5032,
                "duels_won": 1.1509,
                "total_long_balls": 0.3289,
                "accurate_long_balls": 0.1239,
                "total_own_half_passes": 4.3977,
                "accurate_own_half_passes": 4.0384,
                "total_opp_half_passes": 8.297,
                "accurate_opp_half_passes": 7.4647,
                "crosses_total": 1.1185,
                "crosses_accurate": 0.1186,
                "touches": 17.4589,
                "possession_lost": 2.9599,
                "dispossessed": 0.2125,
                "duels_lost": 1.5991,
                "aerial_won": 0.0728,
                "aerial_lost": 0.2022,
                "interceptions": 0.3731,
                "tackles_won": 0.3607,
                "tackles": 0.3607,
                "clearances": 0.085,
                "total_contest": 0.7478,
                "won_contest": 0.5217,
                "challenges_lost": 0.7713,
                "fouls": 0.299,
                "fouls_drawn": 0.1957,
                "blocks": 0.0,
                "big_chances_created": 0.2542,
                "big_chances_missed": 0.203,
                "xgot": 0.1206,
                "ball_carries": 6.1779,
                "total_progression": 22.2735,
                "progressive_carries": 2.1351,
                "shots_off_target": 0.2294,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 22.78,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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,
                "finishing_factor": 1.0633,
                "creation_factor": 1.1029,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 15,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 2519,
                "fifa_rank": 1240.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 0.8217,
                "expected_assists": 0.0535,
                "assist_rate": 0.0829,
                "assists": 0,
                "expected_goals": 0.0208,
                "goal_rate": 0.0323,
                "goals": 0,
                "shots_on_target": 0.1221,
                "total_shots": 0.3516,
                "rating": 6.7197,
                "minutes": 22.78,
                "total_pass": 12.6947,
                "accurate_pass": 11.5032,
                "duels_won": 1.1509,
                "total_long_balls": 0.3289,
                "accurate_long_balls": 0.1239,
                "total_own_half_passes": 4.3977,
                "accurate_own_half_passes": 4.0384,
                "total_opp_half_passes": 8.297,
                "accurate_opp_half_passes": 7.4647,
                "crosses_total": 1.1185,
                "crosses_accurate": 0.1186,
                "touches": 17.4589,
                "possession_lost": 2.9599,
                "dispossessed": 0.2125,
                "duels_lost": 1.5991,
                "aerial_won": 0.0728,
                "aerial_lost": 0.2022,
                "interceptions": 0.3731,
                "tackles_won": 0.3607,
                "tackles": 0.3607,
                "clearances": 0.085,
                "total_contest": 0.7478,
                "won_contest": 0.5217,
                "challenges_lost": 0.7713,
                "fouls": 0.299,
                "fouls_drawn": 0.1957,
                "blocks": 0.0,
                "big_chances_created": 0.2542,
                "big_chances_missed": 0.203,
                "xgot": 0.1206,
                "ball_carries": 6.1779,
                "total_progression": 22.2735,
                "progressive_carries": 2.1351,
                "shots_off_target": 0.2294,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 22.78,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0204,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0633,
                "creation_factor": 1.1029,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0204,
                "goal_rate": 0.0323,
                "scorer_weight": 0.0221,
                "squad_weight_total": 2.4769,
                "weight_share": 0.0089,
                "finishing_factor": 1.0633,
                "appearance_weight": 0.535,
                "weight_rank": 12,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.6971,
                    "already": 0,
                    "effective_weight": 0.6971,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.3346
                  },
                  {
                    "n": 2,
                    "player": "Alex Baena",
                    "weight": 0.3346,
                    "already": 0,
                    "effective_weight": 0.3346,
                    "runner_up": "Kang-in Lee",
                    "runner_up_effective_weight": 0.3062
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.8217,
                "expected_assists": 0.0535,
                "assist_rate": 0.0829,
                "assists": 0,
                "expected_goals": 0.0208,
                "goal_rate": 0.0323,
                "goals": 0,
                "shots_on_target": 0.1221,
                "total_shots": 0.3516,
                "rating": 6.7197,
                "minutes": 22.78,
                "total_pass": 12.6947,
                "accurate_pass": 11.5032,
                "duels_won": 1.1509,
                "total_long_balls": 0.3289,
                "accurate_long_balls": 0.1239,
                "total_own_half_passes": 4.3977,
                "accurate_own_half_passes": 4.0384,
                "total_opp_half_passes": 8.297,
                "accurate_opp_half_passes": 7.4647,
                "crosses_total": 1.1185,
                "crosses_accurate": 0.1186,
                "touches": 17.4589,
                "possession_lost": 2.9599,
                "dispossessed": 0.2125,
                "duels_lost": 1.5991,
                "aerial_won": 0.0728,
                "aerial_lost": 0.2022,
                "interceptions": 0.3731,
                "tackles_won": 0.3607,
                "tackles": 0.3607,
                "clearances": 0.085,
                "total_contest": 0.7478,
                "won_contest": 0.5217,
                "challenges_lost": 0.7713,
                "fouls": 0.299,
                "fouls_drawn": 0.1957,
                "blocks": 0.0,
                "big_chances_created": 0.2542,
                "big_chances_missed": 0.203,
                "xgot": 0.1206,
                "ball_carries": 6.1779,
                "total_progression": 22.2735,
                "progressive_carries": 2.1351,
                "shots_off_target": 0.2294,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 22.78,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0204,
                "projected_assists": 0,
                "assist_probability": 0.0509,
                "finishing_factor": 1.0633,
                "creation_factor": 1.1029,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0509,
                "assist_rate": 0.0829,
                "provider_weight": 0.059,
                "squad_weight_total": 1.6132,
                "weight_share": 0.0366,
                "creation_factor": 1.1029,
                "appearance_weight": 0.535,
                "weight_rank": 10,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.257,
                    "already": 0,
                    "effective_weight": 0.257,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.2198
                  }
                ]
              }
            }
          ]
        },
        "Ademola Lookman": {
          "player_id": 824200,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 11,
          "height": 174,
          "market_value": 44000000,
          "stats": {
            "expected_goals": 0.0848,
            "goal_rate": 0.0793,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 1,
            "expected_assists": 0.0437,
            "key_pass": 1,
            "rating": 6.6349,
            "minutes": 27,
            "total_pass": 12,
            "accurate_pass": 10,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 9,
            "accurate_opp_half_passes": 7,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 17,
            "possession_lost": 3.7626,
            "dispossessed": 0.5901,
            "duels_lost": 1,
            "aerial_lost": 0,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assist_rate": 0.0,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 9,
            "total_progression": 47,
            "progressive_carries": 2,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.363,
            "bench_expected_minutes": 26.73,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.324,
            "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": 83.0
          },
          "latest_10_games": [
            {
              "match_id": 16421082,
              "match_date": "2026-10-24",
              "home_team": "Atlético Madrid",
              "away_team": "Deportivo de A Coruña",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 45,
                "rating": 6.3,
                "goal_rate": 0.0,
                "goals": 0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0211,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "total_pass": 15,
                "accurate_pass": 13,
                "tackles": 0,
                "tackles_won": 0,
                "interceptions": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 0,
                "ball_recovery": 2,
                "saves": 0
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421071,
              "match_date": "2026-10-17",
              "home_team": "Espanyol",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 45,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0437,
                "expected_assists": 0.0071,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 13,
                "accurate_pass": 11,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo Alavés",
              "stats": {
                "minutes": 45,
                "rating": 6.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2564,
                "expected_assists": 0.0238,
                "total_shots": 3,
                "total_pass": 18,
                "accurate_pass": 16,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416339,
              "match_date": "2026-09-20",
              "home_team": "Atlético Madrid",
              "away_team": "Real Madrid",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 23,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0578,
                "total_shots": 0,
                "total_pass": 14,
                "accurate_pass": 13,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416335,
              "match_date": "2026-09-16",
              "home_team": "Atlético Madrid",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 68,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.7464,
                "expected_assists": 0.1954,
                "total_shots": 3,
                "shots_off_target": 2,
                "total_pass": 31,
                "accurate_pass": 27,
                "key_pass": 5,
                "tackles": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416332,
              "match_date": "2026-09-13",
              "home_team": "Real Sociedad",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 76,
                "rating": 6.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0408,
                "total_shots": 0,
                "total_pass": 16,
                "accurate_pass": 12,
                "key_pass": 3,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416317,
              "match_date": "2026-09-05",
              "home_team": "Athletic Club",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 58,
                "rating": 6.0,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0443,
                "expected_assists": 0.0411,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 14,
                "accurate_pass": 13
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416316,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 66,
                "rating": 7.6,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.211,
                "expected_assists": 0.0891,
                "total_shots": 3,
                "shots_on_target": 1,
                "total_pass": 32,
                "accurate_pass": 25,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416302,
              "match_date": "2026-08-23",
              "home_team": "Atlético Madrid",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 79,
                "rating": 7.3,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0183,
                "expected_assists": 0.2017,
                "total_shots": 1,
                "total_pass": 13,
                "accurate_pass": 12,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421055,
              "match_date": "2026-08-19",
              "home_team": "Atlético Madrid",
              "away_team": "Málaga CF",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1539,
                "expected_assists": 0.0102,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 23,
                "accurate_pass": 17,
                "tackles": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 451,
            "combined_rank_score": 272.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 236.0,
            "sofascore_rating": 7.1333,
            "sofascore_appearances": 3.0,
            "fifa_rank": 308.0,
            "fifa_overall": 83.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6349,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ademola Lookman",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Piero Hincapié",
                  "ranking": 446
                },
                {
                  "player_name": "Ha Jung-Woo",
                  "ranking": 447
                },
                {
                  "player_name": "Umar Adhamzoda",
                  "ranking": 448
                },
                {
                  "player_name": "Mateo Kovačić",
                  "ranking": 449
                },
                {
                  "player_name": "Jun-seok Lee",
                  "ranking": 450
                }
              ],
              "lower": [
                {
                  "player_name": "Gonzalo Escalante",
                  "ranking": 452
                },
                {
                  "player_name": "Sergio Carreira",
                  "ranking": 453
                },
                {
                  "player_name": "Neto Moura",
                  "ranking": 454
                },
                {
                  "player_name": "Walter",
                  "ranking": 455
                },
                {
                  "player_name": "Gonzalo Plata",
                  "ranking": 456
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.776,
          "history_matches": 22,
          "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",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "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",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 22,
            "data_confidence": 0.776,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 26.72898806308605,
            "bench_appearance_prob": 0.363,
            "market_value_adjustment": 1.0164,
            "fbref_prior_metrics": {
              "squad": "Atlético Madrid",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "sub_appearances": 0.0,
              "goals_per90": 0.3846153846153846,
              "assists_per90": 0.0,
              "prior_reliability": 0.1733
            },
            "rationale": "Bench projection scaled from XGBoost F_service (22 historical appearances) to 26.7 expected mins (appearance prob 0.36); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.0685,
                "goals": 0.0634,
                "goal_rate": 0.0634,
                "shots_on_target": 0.2554,
                "total_shots": 0.5262,
                "expected_assists": 0.0353,
                "key_pass": 0.4568,
                "rating": 6.6349,
                "minutes": 21.95,
                "total_pass": 9.5254,
                "accurate_pass": 8.106,
                "duels_won": 0.7333,
                "total_long_balls": 0.2267,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 6.9569,
                "accurate_opp_half_passes": 5.7642,
                "crosses_total": 0.5065,
                "crosses_accurate": 0.0,
                "touches": 13.3597,
                "possession_lost": 3.04,
                "dispossessed": 0.5806,
                "duels_lost": 1.074,
                "aerial_lost": 0.2267,
                "total_contest": 0.4595,
                "won_contest": 0.1927,
                "ball_recovery": 0.7673,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.5405,
                "tackles": 0.5405,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.2267,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.2267,
                "ball_carries": 7.544,
                "total_progression": 37.8099,
                "progressive_carries": 1.8258,
                "shots_off_target": 0.2708
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-24",
                    "opponent": "Deportivo de A Coruña",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.1543,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Espanyol",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.1312,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Deportivo Alavés",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.1115,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Real Madrid",
                    "minutes": 23.0,
                    "is_starting": false,
                    "weight": 0.0948,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Osasuna",
                    "minutes": 68.0,
                    "is_starting": true,
                    "weight": 0.0806,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Real Sociedad",
                    "minutes": 76.0,
                    "is_starting": true,
                    "weight": 0.0685,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Athletic Club",
                    "minutes": 58.0,
                    "is_starting": true,
                    "weight": 0.0582,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Sevilla",
                    "minutes": 66.0,
                    "is_starting": true,
                    "weight": 0.0495,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-08-23",
                    "opponent": "Villarreal",
                    "minutes": 79.0,
                    "is_starting": true,
                    "weight": 0.0421,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-08-19",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0357,
                    "rating": 6.5
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "expectedGoals": 0.1833,
                  "accuratePass": 15.0425,
                  "totalOppositionHalfPasses": 12.9967,
                  "accurateOppositionHalfPasses": 11.0096,
                  "totalShots": 1.3157
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.06847333163022995,
                    "model_output": 0.0685,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0974
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0084
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0048
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0044
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": -0.0027
                        }
                      ],
                      "others": -0.0097,
                      "total": 0.0685,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.687261
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.089066
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.054519
                        },
                        {
                          "name": "goals",
                          "margin": -0.052385
                        },
                        {
                          "name": "pass_accuracy",
                          "margin": -0.033875
                        }
                      ],
                      "others_margin": -0.134246
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.06343557685613632,
                    "model_output": 0.0634,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1034
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0114
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0058
                        },
                        {
                          "name": "aerialWon",
                          "contribution": -0.0046
                        },
                        {
                          "name": "goals",
                          "contribution": -0.0043
                        }
                      ],
                      "others": -0.0076,
                      "total": 0.0634,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.725516
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.125505
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.070242
                        },
                        {
                          "name": "aerialWon",
                          "margin": -0.059718
                        },
                        {
                          "name": "goals",
                          "margin": -0.058436
                        }
                      ],
                      "others_margin": -0.111254
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.25540393590927124,
                    "model_output": 0.2554,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2237
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": -0.0181
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0123
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0117
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0086
                        }
                      ],
                      "others": -0.0196,
                      "total": 0.2554,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.545467
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": -0.060372
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.043295
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.042935
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.031808
                        }
                      ],
                      "others_margin": -0.073877
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.5262260437011719,
                    "model_output": 0.5262,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.5944
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0666
                        },
                        {
                          "name": "shot_accuracy",
                          "contribution": -0.0406
                        },
                        {
                          "name": "duelWon",
                          "contribution": -0.0365
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0267
                        }
                      ],
                      "others": -0.0892,
                      "total": 0.5262,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.594408
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.066579
                        },
                        {
                          "name": "shot_accuracy",
                          "margin": -0.040645
                        },
                        {
                          "name": "duelWon",
                          "margin": -0.036533
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.026658
                        }
                      ],
                      "others_margin": -0.089102
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.035281952470541,
                    "model_output": 0.0353,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0219
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.005
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.004
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": -0.0031
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0027
                        }
                      ],
                      "others": -0.0023,
                      "total": 0.0353,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.415194
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.110871
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.087734
                        },
                        {
                          "name": "pass_accuracy",
                          "margin": -0.074468
                        },
                        {
                          "name": "rating",
                          "margin": -0.069506
                        }
                      ],
                      "others_margin": -0.064279
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.45680856704711914,
                    "model_output": 0.4568,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2628
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "contribution": 0.0616
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0335
                        },
                        {
                          "name": "shotValueNormalized",
                          "contribution": -0.0212
                        },
                        {
                          "name": "rating",
                          "contribution": -0.017
                        }
                      ],
                      "others": 0.043,
                      "total": 0.4568,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.482426
                        },
                        {
                          "name": "accurateOppositionHalfPasses",
                          "margin": 0.135638
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.071463
                        },
                        {
                          "name": "shotValueNormalized",
                          "margin": -0.048003
                        },
                        {
                          "name": "rating",
                          "margin": -0.040292
                        }
                      ],
                      "others_margin": 0.09886
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.63485050201416,
                    "model_output": 6.6349,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0707
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0327
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0179
                        },
                        {
                          "name": "pass_accuracy",
                          "contribution": -0.0174
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "contribution": 0.0148
                        }
                      ],
                      "others": -0.012,
                      "total": 6.6349,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.070749
                        },
                        {
                          "name": "rating",
                          "margin": -0.032723
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.017935
                        },
                        {
                          "name": "pass_accuracy",
                          "margin": -0.017358
                        },
                        {
                          "name": "totalOppositionHalfPasses",
                          "margin": 0.014758
                        }
                      ],
                      "others_margin": -0.011987
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 22,
                  "role_matches": 4,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0164, quality 0.800)",
              "stats": {
                "expected_goals": 0.0696,
                "goals": 0.0645,
                "goal_rate": 0.0645,
                "shots_on_target": 0.2596,
                "total_shots": 0.5349,
                "expected_assists": 0.0359,
                "key_pass": 0.4643,
                "rating": 6.6349,
                "minutes": 21.95,
                "total_pass": 9.6816,
                "accurate_pass": 8.2389,
                "duels_won": 0.7453,
                "total_long_balls": 0.2304,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 7.071,
                "accurate_opp_half_passes": 5.8587,
                "crosses_total": 0.5148,
                "crosses_accurate": 0.0,
                "touches": 13.5788,
                "possession_lost": 3.0899,
                "dispossessed": 0.5901,
                "duels_lost": 1.0916,
                "aerial_lost": 0.2304,
                "total_contest": 0.467,
                "won_contest": 0.1959,
                "ball_recovery": 0.7799,
                "challenges_lost": 0.0,
                "fouls": 0.0,
                "fouls_drawn": 0.0,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0,
                "tackles_won": 0.5494,
                "tackles": 0.5494,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.2304,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.2304,
                "ball_carries": 7.6677,
                "total_progression": 38.43,
                "progressive_carries": 1.8557,
                "shots_off_target": 0.2752
              },
              "params": {
                "market_value_eur": 44000000,
                "quality_factor": 0.8002,
                "boost_factor": 1.0164,
                "reference_quality": 0.505,
                "history_matches": 22,
                "history_shrink": 0.1852,
                "market_value_known": true
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0209)",
              "stats": {
                "expected_goals": 0.0696,
                "goals": 0.0651,
                "goal_rate": 0.0651,
                "shots_on_target": 0.2601,
                "total_shots": 0.5355,
                "expected_assists": 0.0359,
                "key_pass": 0.4643,
                "rating": 6.6349,
                "minutes": 21.95,
                "total_pass": 9.6816,
                "accurate_pass": 8.2389,
                "duels_won": 0.7453,
                "total_long_balls": 0.2304,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 7.071,
                "accurate_opp_half_passes": 5.8587,
                "crosses_total": 0.508,
                "crosses_accurate": 0.0,
                "touches": 13.5788,
                "possession_lost": 3.0899,
                "dispossessed": 0.5901,
                "duels_lost": 1.0916,
                "aerial_lost": 0.2304,
                "total_contest": 0.467,
                "won_contest": 0.1959,
                "ball_recovery": 0.7799,
                "challenges_lost": 0.0,
                "fouls": 0.0078,
                "fouls_drawn": 0.0098,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.002,
                "tackles_won": 0.5399,
                "tackles": 0.5494,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.2304,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.2295,
                "ball_carries": 7.6677,
                "total_progression": 38.43,
                "progressive_carries": 1.8557,
                "shots_off_target": 0.2752
              },
              "params": {
                "blend_weight": 0.0209,
                "history_matches": 22,
                "season_overlap_discount": 1.0,
                "per90_to_match_factor": 0.2439,
                "prior_reliability": 0.1733,
                "competition": "La Liga",
                "squad": "Atlético Madrid"
              },
              "changes": [
                {
                  "stat": "wasFouled",
                  "before": 0.0,
                  "after": 0.0098
                },
                {
                  "stat": "wonTackle",
                  "before": 0.5494,
                  "after": 0.5399
                },
                {
                  "stat": "fouls",
                  "before": 0.0,
                  "after": 0.0078
                },
                {
                  "stat": "totalCross",
                  "before": 0.5148,
                  "after": 0.508
                }
              ]
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 21.9 to 26.7 expected minutes (appearance prob 0.36)",
              "stats": {
                "expected_goals": 0.0848,
                "goals": 0.0793,
                "goal_rate": 0.0793,
                "shots_on_target": 0.3167,
                "total_shots": 0.6521,
                "expected_assists": 0.0437,
                "key_pass": 0.5654,
                "rating": 6.6349,
                "minutes": 26.73,
                "total_pass": 11.7895,
                "accurate_pass": 10.0327,
                "duels_won": 0.9076,
                "total_long_balls": 0.2806,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 8.6105,
                "accurate_opp_half_passes": 7.1343,
                "crosses_total": 0.6186,
                "crosses_accurate": 0.0,
                "touches": 16.5352,
                "possession_lost": 3.7626,
                "dispossessed": 0.5901,
                "duels_lost": 1.3293,
                "aerial_lost": 0.2304,
                "total_contest": 0.5687,
                "won_contest": 0.2386,
                "ball_recovery": 0.9497,
                "challenges_lost": 0.0,
                "fouls": 0.0095,
                "fouls_drawn": 0.0119,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0024,
                "tackles_won": 0.6574,
                "tackles": 0.669,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.2806,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.2295,
                "ball_carries": 9.3371,
                "total_progression": 46.797,
                "progressive_carries": 2.2597,
                "shots_off_target": 0.3351,
                "bench_appearance_probability": 0.363,
                "bench_expected_minutes": 26.73
              },
              "params": {
                "expected_minutes": 26.73,
                "projection_minutes": 21.95,
                "minutes_scale": 1.2177,
                "appearance_probability": 0.363
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0848,
                "goals": 0.0793,
                "goal_rate": 0.0793,
                "shots_on_target": 0.3167,
                "total_shots": 0.6521,
                "expected_assists": 0.0437,
                "key_pass": 0.5654,
                "rating": 6.6349,
                "minutes": 26.73,
                "total_pass": 11.7895,
                "accurate_pass": 10.0327,
                "duels_won": 0.9076,
                "total_long_balls": 0.2806,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 8.6105,
                "accurate_opp_half_passes": 7.1343,
                "crosses_total": 0.6186,
                "crosses_accurate": 0.0,
                "touches": 16.5352,
                "possession_lost": 3.7626,
                "dispossessed": 0.5901,
                "duels_lost": 1.3293,
                "aerial_lost": 0.2304,
                "total_contest": 0.5687,
                "won_contest": 0.2386,
                "ball_recovery": 0.9497,
                "challenges_lost": 0.0,
                "fouls": 0.0095,
                "fouls_drawn": 0.0119,
                "assists": 0.0,
                "assist_rate": 0.0,
                "interceptions": 0.0024,
                "tackles_won": 0.6574,
                "tackles": 0.669,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.2806,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.2295,
                "ball_carries": 9.3371,
                "total_progression": 46.797,
                "progressive_carries": 2.2597,
                "shots_off_target": 0.3351,
                "bench_appearance_probability": 0.363,
                "bench_expected_minutes": 26.73
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "not_projected_to_play",
              "description": "Not among the projected substitutes: no share of the team's goals or assists",
              "stats": {
                "expected_goals": 0.0848,
                "goal_rate": 0.0793,
                "goals": 0,
                "shots_on_target": 0.3167,
                "total_shots": 0.6521,
                "expected_assists": 0.0437,
                "key_pass": 0.5654,
                "rating": 6.6349,
                "minutes": 26.73,
                "total_pass": 11.7895,
                "accurate_pass": 10.0327,
                "duels_won": 0.9076,
                "total_long_balls": 0.2806,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 8.6105,
                "accurate_opp_half_passes": 7.1343,
                "crosses_total": 0.6186,
                "crosses_accurate": 0.0,
                "touches": 16.5352,
                "possession_lost": 3.7626,
                "dispossessed": 0.5901,
                "duels_lost": 1.3293,
                "aerial_lost": 0.2304,
                "total_contest": 0.5687,
                "won_contest": 0.2386,
                "ball_recovery": 0.9497,
                "challenges_lost": 0.0,
                "fouls": 0.0095,
                "fouls_drawn": 0.0119,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0024,
                "tackles_won": 0.6574,
                "tackles": 0.669,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.2806,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.2295,
                "ball_carries": 9.3371,
                "total_progression": 46.797,
                "progressive_carries": 2.2597,
                "shots_off_target": 0.3351,
                "bench_appearance_probability": 0.363,
                "bench_expected_minutes": 26.73,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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
              },
              "params": {
                "appearance_probability": 0.363,
                "projected_substitutes": 2,
                "scoreline_reset": true
              }
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 18 by projected rating, fifa_overall 83.0)",
              "stats": {
                "expected_goals": 0.0848,
                "goal_rate": 0.0793,
                "goals": 0,
                "shots_on_target": 0.3167,
                "total_shots": 0.6521,
                "expected_assists": 0.0437,
                "key_pass": 0.5654,
                "rating": 6.6349,
                "minutes": 26.73,
                "total_pass": 11.7895,
                "accurate_pass": 10.0327,
                "duels_won": 0.9076,
                "total_long_balls": 0.2806,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 8.6105,
                "accurate_opp_half_passes": 7.1343,
                "crosses_total": 0.6186,
                "crosses_accurate": 0.0,
                "touches": 16.5352,
                "possession_lost": 3.7626,
                "dispossessed": 0.5901,
                "duels_lost": 1.3293,
                "aerial_lost": 0.2304,
                "total_contest": 0.5687,
                "won_contest": 0.2386,
                "ball_recovery": 0.9497,
                "challenges_lost": 0.0,
                "fouls": 0.0095,
                "fouls_drawn": 0.0119,
                "assist_rate": 0.0,
                "assists": 0,
                "interceptions": 0.0024,
                "tackles_won": 0.6574,
                "tackles": 0.669,
                "clearances": 0.0,
                "blocks": 0.0,
                "big_chances_created": 0.2806,
                "big_chances_missed": 0.0,
                "xgot": 0.0,
                "offsides": 0.2295,
                "ball_carries": 9.3371,
                "total_progression": 46.797,
                "progressive_carries": 2.2597,
                "shots_off_target": 0.3351,
                "bench_appearance_probability": 0.363,
                "bench_expected_minutes": 26.73,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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": 83.0
              },
              "params": {
                "match_squad_rank": 18,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 451,
                "fifa_rank": 308.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 83.0
              }
            }
          ]
        },
        "Jonathan David": {
          "player_id": 935564,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 15,
          "height": 180,
          "market_value": 29000000,
          "stats": {
            "expected_goals": 0.1511,
            "goal_rate": 0.1759,
            "goals": 0,
            "shots_on_target": 1,
            "total_shots": 2,
            "expected_assists": 0.0381,
            "key_pass": 1,
            "rating": 6.6586,
            "minutes": 26,
            "total_pass": 17,
            "accurate_pass": 14,
            "duels_won": 2,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 12,
            "accurate_opp_half_passes": 10,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 29,
            "possession_lost": 6.9762,
            "dispossessed": 1.3289,
            "duels_lost": 4,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 2,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "assist_rate": 0.4599,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 1,
            "blocks": 0,
            "big_chances_created": 1,
            "big_chances_missed": 2,
            "xgot": 0.7387,
            "offsides": 0,
            "ball_carries": 7,
            "total_progression": 32,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "bench_appearance_probability": 0.608,
            "bench_expected_minutes": 26.37,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.324,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.1338,
            "projected_assists": 0,
            "assist_probability": 0.0369,
            "finishing_factor": 1.0031,
            "creation_factor": 1.25,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16421071,
              "match_date": "2026-10-17",
              "home_team": "Espanyol",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.5773,
                "expected_assists": 0.0929,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 23,
                "accurate_pass": 18,
                "key_pass": 3,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo Alavés",
              "stats": {
                "minutes": 45,
                "rating": 6.9,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.1264,
                "expected_assists": 0.0563,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 9,
                "accurate_pass": 7,
                "key_pass": 1,
                "interceptions": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416339,
              "match_date": "2026-09-20",
              "home_team": "Atlético Madrid",
              "away_team": "Real Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 62,
                "rating": 7.3,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.5928,
                "expected_assists": 0.231,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 11,
                "accurate_pass": 11,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416335,
              "match_date": "2026-09-16",
              "home_team": "Atlético Madrid",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 68,
                "rating": 7.9,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 1.4628,
                "expected_assists": 0.3606,
                "total_shots": 6,
                "shots_on_target": 3,
                "shots_off_target": 1,
                "total_pass": 18,
                "accurate_pass": 17,
                "key_pass": 4,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416332,
              "match_date": "2026-09-13",
              "home_team": "Real Sociedad",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 30,
                "rating": 7.9,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2584,
                "expected_assists": 0.0115,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 8,
                "accurate_pass": 4,
                "key_pass": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1190,
            "combined_rank_score": 524.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 310.0,
            "sofascore_rating": 7.0333,
            "sofascore_appearances": 6.0,
            "fifa_rank": 738.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6586,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jonathan David",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Fernando Calero",
                  "ranking": 1185
                },
                {
                  "player_name": "Diego Rubio",
                  "ranking": 1186
                },
                {
                  "player_name": "Ismaïla Sarr",
                  "ranking": 1187
                },
                {
                  "player_name": "Kevin Danso",
                  "ranking": 1188
                },
                {
                  "player_name": "Folarin Balogun",
                  "ranking": 1189
                }
              ],
              "lower": [
                {
                  "player_name": "Gerard Martín",
                  "ranking": 1191
                },
                {
                  "player_name": "Keelan Lebon",
                  "ranking": 1192
                },
                {
                  "player_name": "Sukhrob Nurullaev",
                  "ranking": 1193
                },
                {
                  "player_name": "Ayyoub Bouaddi",
                  "ranking": 1194
                },
                {
                  "player_name": "Choi Hee-won",
                  "ranking": 1195
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.562,
          "history_matches": 5,
          "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",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "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",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 5,
            "data_confidence": 0.562,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 26.37159379857936,
            "bench_appearance_prob": 0.6077997181172436,
            "market_value_adjustment": 1.0307,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (5 historical appearances) to 26.4 expected mins (appearance prob 0.61)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.1504,
                "goals": 0.151,
                "goal_rate": 0.151,
                "shots_on_target": 0.4468,
                "total_shots": 0.9774,
                "expected_assists": 0.038,
                "key_pass": 0.4816,
                "rating": 6.6586,
                "minutes": 23.33,
                "total_pass": 14.5142,
                "accurate_pass": 11.979,
                "duels_won": 1.83,
                "total_long_balls": 0.4104,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 10.5053,
                "accurate_opp_half_passes": 8.6097,
                "crosses_total": 0.4352,
                "crosses_accurate": 0.0,
                "touches": 24.4878,
                "possession_lost": 5.9878,
                "dispossessed": 1.2893,
                "duels_lost": 3.6339,
                "aerial_lost": 1.3873,
                "total_contest": 0.6396,
                "won_contest": 0.1408,
                "ball_recovery": 1.3553,
                "challenges_lost": 0.2292,
                "fouls": 0.2292,
                "fouls_drawn": 1.0592,
                "assists": 0.3948,
                "assist_rate": 0.3948,
                "interceptions": 0.424,
                "tackles_won": 0.1948,
                "tackles": 0.1948,
                "clearances": 0.5393,
                "blocks": 0.0,
                "big_chances_created": 0.83,
                "big_chances_missed": 1.3441,
                "xgot": 0.7353,
                "offsides": 0.4645,
                "ball_carries": 5.8083,
                "total_progression": 27.1005,
                "progressive_carries": 1.2135,
                "shots_off_target": 0.5306
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2696,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Deportivo Alavés",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.2292,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Real Madrid",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.1948,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Osasuna",
                    "minutes": 68.0,
                    "is_starting": true,
                    "weight": 0.1656,
                    "rating": 7.9
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Real Sociedad",
                    "minutes": 30.0,
                    "is_starting": false,
                    "weight": 0.1408,
                    "rating": 7.9
                  }
                ],
                "feature_row": {
                  "history_matches": 5.0,
                  "is_starting_11": 0.0,
                  "expectedGoals": 0.5787,
                  "accuratePass": 11.979,
                  "totalOppositionHalfPasses": 10.5053,
                  "accurateOppositionHalfPasses": 8.6097,
                  "totalShots": 2.7028
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.15038436651229858,
                    "model_output": 0.1504,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0966
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0236
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0097
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0064
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0052
                        }
                      ],
                      "others": 0.0062,
                      "total": 0.1504,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.679386
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.213144
                        },
                        {
                          "name": "goals",
                          "margin": 0.076164
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.047434
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.037014
                        }
                      ],
                      "others_margin": 0.04103
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.15097643435001373,
                    "model_output": 0.151,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0914
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0202
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0131
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.01
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0097
                        }
                      ],
                      "others": -0.0111,
                      "total": 0.151,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.608601
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.170224
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": 0.096395
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.06777
                        },
                        {
                          "name": "goals",
                          "margin": 0.061659
                        }
                      ],
                      "others_margin": -0.071018
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.44678741693496704,
                    "model_output": 0.4468,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2162
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0434
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0254
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0188
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0184
                        }
                      ],
                      "others": 0.0248,
                      "total": 0.4468,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.521312
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.128569
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.068408
                        },
                        {
                          "name": "goals",
                          "margin": 0.047589
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.044633
                        }
                      ],
                      "others_margin": 0.057212
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.9774101376533508,
                    "model_output": 0.9774,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.6026
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.1793
                        },
                        {
                          "name": "history_matches",
                          "contribution": -0.0484
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0481
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0283
                        }
                      ],
                      "others": -0.0075,
                      "total": 0.9774,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.602579
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.179265
                        },
                        {
                          "name": "history_matches",
                          "margin": -0.048355
                        },
                        {
                          "name": "goals",
                          "margin": 0.048139
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.02831
                        }
                      ],
                      "others_margin": -0.007522
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.03798332065343857,
                    "model_output": 0.038,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0206
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0055
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0043
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0031
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.003
                        }
                      ],
                      "others": -0.0068,
                      "total": 0.038,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.387098
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.1182
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.092133
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.072168
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.068926
                        }
                      ],
                      "others_margin": -0.162261
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.4816105365753174,
                    "model_output": 0.4816,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2684
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0404
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.0399
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0272
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0237
                        }
                      ],
                      "others": 0.0339,
                      "total": 0.4816,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.495577
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.092252
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.08329
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.056068
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.051484
                        }
                      ],
                      "others_margin": 0.072772
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.6586198806762695,
                    "model_output": 6.6586,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0764
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0466
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0311
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.028
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0185
                        }
                      ],
                      "others": -0.067,
                      "total": 6.6586,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.076408
                        },
                        {
                          "name": "rating",
                          "margin": 0.046628
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.031135
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": -0.028043
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.018512
                        }
                      ],
                      "others_margin": -0.067025
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 5,
                  "role_matches": 1,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "all_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0307, quality 0.710)",
              "stats": {
                "expected_goals": 0.155,
                "goals": 0.1556,
                "goal_rate": 0.1556,
                "shots_on_target": 0.4605,
                "total_shots": 1.0074,
                "expected_assists": 0.0391,
                "key_pass": 0.4964,
                "rating": 6.6586,
                "minutes": 23.33,
                "total_pass": 14.9598,
                "accurate_pass": 12.3468,
                "duels_won": 1.8862,
                "total_long_balls": 0.423,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 10.8278,
                "accurate_opp_half_passes": 8.874,
                "crosses_total": 0.4486,
                "crosses_accurate": 0.0,
                "touches": 25.2396,
                "possession_lost": 6.1716,
                "dispossessed": 1.3289,
                "duels_lost": 3.7455,
                "aerial_lost": 1.4299,
                "total_contest": 0.6592,
                "won_contest": 0.1451,
                "ball_recovery": 1.3969,
                "challenges_lost": 0.2362,
                "fouls": 0.2362,
                "fouls_drawn": 1.0917,
                "assists": 0.4069,
                "assist_rate": 0.4069,
                "interceptions": 0.437,
                "tackles_won": 0.2008,
                "tackles": 0.2008,
                "clearances": 0.5559,
                "blocks": 0.0,
                "big_chances_created": 0.8555,
                "big_chances_missed": 1.3854,
                "xgot": 0.7579,
                "offsides": 0.4788,
                "ball_carries": 5.9866,
                "total_progression": 27.9325,
                "progressive_carries": 1.2508,
                "shots_off_target": 0.5469
              },
              "params": {
                "market_value_eur": 29000000,
                "quality_factor": 0.71,
                "boost_factor": 1.0307,
                "reference_quality": 0.505,
                "history_matches": 5,
                "history_shrink": 0.5,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 23.3 to 26.4 expected minutes (appearance prob 0.61)",
              "stats": {
                "expected_goals": 0.1752,
                "goals": 0.1759,
                "goal_rate": 0.1759,
                "shots_on_target": 0.5205,
                "total_shots": 1.1387,
                "expected_assists": 0.0442,
                "key_pass": 0.5611,
                "rating": 6.6586,
                "minutes": 26.37,
                "total_pass": 16.9101,
                "accurate_pass": 13.9565,
                "duels_won": 2.1321,
                "total_long_balls": 0.4781,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 12.2394,
                "accurate_opp_half_passes": 10.0309,
                "crosses_total": 0.5071,
                "crosses_accurate": 0.0,
                "touches": 28.5302,
                "possession_lost": 6.9762,
                "dispossessed": 1.3289,
                "duels_lost": 4.2338,
                "aerial_lost": 1.4299,
                "total_contest": 0.7451,
                "won_contest": 0.164,
                "ball_recovery": 1.579,
                "challenges_lost": 0.2362,
                "fouls": 0.267,
                "fouls_drawn": 1.234,
                "assists": 0.4599,
                "assist_rate": 0.4599,
                "interceptions": 0.494,
                "tackles_won": 0.227,
                "tackles": 0.227,
                "clearances": 0.6284,
                "blocks": 0.0,
                "big_chances_created": 0.967,
                "big_chances_missed": 1.566,
                "xgot": 0.8567,
                "offsides": 0.4788,
                "ball_carries": 6.7671,
                "total_progression": 31.5741,
                "progressive_carries": 1.4139,
                "shots_off_target": 0.6182,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37
              },
              "params": {
                "expected_minutes": 26.37,
                "projection_minutes": 23.33,
                "minutes_scale": 1.1304,
                "appearance_probability": 0.608
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1752,
                "goals": 0.1759,
                "goal_rate": 0.1759,
                "shots_on_target": 0.5205,
                "total_shots": 1.1387,
                "expected_assists": 0.0442,
                "key_pass": 0.5611,
                "rating": 6.6586,
                "minutes": 26.37,
                "total_pass": 16.9101,
                "accurate_pass": 13.9565,
                "duels_won": 2.1321,
                "total_long_balls": 0.4781,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 12.2394,
                "accurate_opp_half_passes": 10.0309,
                "crosses_total": 0.5071,
                "crosses_accurate": 0.0,
                "touches": 28.5302,
                "possession_lost": 6.9762,
                "dispossessed": 1.3289,
                "duels_lost": 4.2338,
                "aerial_lost": 1.4299,
                "total_contest": 0.7451,
                "won_contest": 0.164,
                "ball_recovery": 1.579,
                "challenges_lost": 0.2362,
                "fouls": 0.267,
                "fouls_drawn": 1.234,
                "assists": 0.4599,
                "assist_rate": 0.4599,
                "interceptions": 0.494,
                "tackles_won": 0.227,
                "tackles": 0.227,
                "clearances": 0.6284,
                "blocks": 0.0,
                "big_chances_created": 0.967,
                "big_chances_missed": 1.566,
                "xgot": 0.8567,
                "offsides": 0.4788,
                "ball_carries": 6.7671,
                "total_progression": 31.5741,
                "progressive_carries": 1.4139,
                "shots_off_target": 0.6182,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.1752,
                "goal_rate": 0.1759,
                "goals": 0,
                "shots_on_target": 0.5205,
                "total_shots": 1.1387,
                "expected_assists": 0.0442,
                "key_pass": 0.5611,
                "rating": 6.6586,
                "minutes": 26.37,
                "total_pass": 16.9101,
                "accurate_pass": 13.9565,
                "duels_won": 2.1321,
                "total_long_balls": 0.4781,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 12.2394,
                "accurate_opp_half_passes": 10.0309,
                "crosses_total": 0.5071,
                "crosses_accurate": 0.0,
                "touches": 28.5302,
                "possession_lost": 6.9762,
                "dispossessed": 1.3289,
                "duels_lost": 4.2338,
                "aerial_lost": 1.4299,
                "total_contest": 0.7451,
                "won_contest": 0.164,
                "ball_recovery": 1.579,
                "challenges_lost": 0.2362,
                "fouls": 0.267,
                "fouls_drawn": 1.234,
                "assist_rate": 0.4599,
                "assists": 0,
                "interceptions": 0.494,
                "tackles_won": 0.227,
                "tackles": 0.227,
                "clearances": 0.6284,
                "blocks": 0.0,
                "big_chances_created": 0.967,
                "big_chances_missed": 1.566,
                "xgot": 0.8567,
                "offsides": 0.4788,
                "ball_carries": 6.7671,
                "total_progression": 31.5741,
                "progressive_carries": 1.4139,
                "shots_off_target": 0.6182,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 2.27 (squad xG sum 1.5979, xG scale 1.4181, xA scale 1.4181, team xA 1.65 = 0.73 x lambda)",
              "stats": {
                "expected_goals": 0.1511,
                "goal_rate": 0.1759,
                "goals": 0,
                "shots_on_target": 0.5205,
                "total_shots": 1.1387,
                "expected_assists": 0.0381,
                "key_pass": 0.5611,
                "rating": 6.6586,
                "minutes": 26.37,
                "total_pass": 16.9101,
                "accurate_pass": 13.9565,
                "duels_won": 2.1321,
                "total_long_balls": 0.4781,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 12.2394,
                "accurate_opp_half_passes": 10.0309,
                "crosses_total": 0.5071,
                "crosses_accurate": 0.0,
                "touches": 28.5302,
                "possession_lost": 6.9762,
                "dispossessed": 1.3289,
                "duels_lost": 4.2338,
                "aerial_lost": 1.4299,
                "total_contest": 0.7451,
                "won_contest": 0.164,
                "ball_recovery": 1.579,
                "challenges_lost": 0.2362,
                "fouls": 0.267,
                "fouls_drawn": 1.234,
                "assist_rate": 0.4599,
                "assists": 0,
                "interceptions": 0.494,
                "tackles_won": 0.227,
                "tackles": 0.227,
                "clearances": 0.6284,
                "blocks": 0.0,
                "big_chances_created": 0.967,
                "big_chances_missed": 1.566,
                "xgot": 0.7387,
                "offsides": 0.4788,
                "ball_carries": 6.7671,
                "total_progression": 31.5741,
                "progressive_carries": 1.4139,
                "shots_off_target": 0.6182,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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,
                "finishing_factor": 1.0031,
                "creation_factor": 1.25
              },
              "params": {
                "team_lambda": 2.266,
                "squad_xg_sum": 1.5979,
                "squad_xa_sum": 1.1609,
                "team_expected_assists": 1.6463,
                "team_xa_to_xg_ratio": 0.7265,
                "bench_appearance_weighted": true,
                "xg_scale": 1.4181,
                "xa_scale": 1.4181,
                "opponent_lambda": 1.191,
                "scoreline_reset": true,
                "appearance_weight": 0.608
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.1752,
                  "after": 0.1511
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0442,
                  "after": 0.0381
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 17 by projected rating, fifa_overall 80.0)",
              "stats": {
                "expected_goals": 0.1511,
                "goal_rate": 0.1759,
                "goals": 0,
                "shots_on_target": 0.5205,
                "total_shots": 1.1387,
                "expected_assists": 0.0381,
                "key_pass": 0.5611,
                "rating": 6.6586,
                "minutes": 26.37,
                "total_pass": 16.9101,
                "accurate_pass": 13.9565,
                "duels_won": 2.1321,
                "total_long_balls": 0.4781,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 12.2394,
                "accurate_opp_half_passes": 10.0309,
                "crosses_total": 0.5071,
                "crosses_accurate": 0.0,
                "touches": 28.5302,
                "possession_lost": 6.9762,
                "dispossessed": 1.3289,
                "duels_lost": 4.2338,
                "aerial_lost": 1.4299,
                "total_contest": 0.7451,
                "won_contest": 0.164,
                "ball_recovery": 1.579,
                "challenges_lost": 0.2362,
                "fouls": 0.267,
                "fouls_drawn": 1.234,
                "assist_rate": 0.4599,
                "assists": 0,
                "interceptions": 0.494,
                "tackles_won": 0.227,
                "tackles": 0.227,
                "clearances": 0.6284,
                "blocks": 0.0,
                "big_chances_created": 0.967,
                "big_chances_missed": 1.566,
                "xgot": 0.7387,
                "offsides": 0.4788,
                "ball_carries": 6.7671,
                "total_progression": 31.5741,
                "progressive_carries": 1.4139,
                "shots_off_target": 0.6182,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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,
                "finishing_factor": 1.0031,
                "creation_factor": 1.25,
                "fifa_overall": 80.0
              },
              "params": {
                "match_squad_rank": 17,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1190,
                "fifa_rank": 738.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 80.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.1511,
                "goal_rate": 0.1759,
                "goals": 0,
                "shots_on_target": 0.5205,
                "total_shots": 1.1387,
                "expected_assists": 0.0381,
                "key_pass": 0.5611,
                "rating": 6.6586,
                "minutes": 26.37,
                "total_pass": 16.9101,
                "accurate_pass": 13.9565,
                "duels_won": 2.1321,
                "total_long_balls": 0.4781,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 12.2394,
                "accurate_opp_half_passes": 10.0309,
                "crosses_total": 0.5071,
                "crosses_accurate": 0.0,
                "touches": 28.5302,
                "possession_lost": 6.9762,
                "dispossessed": 1.3289,
                "duels_lost": 4.2338,
                "aerial_lost": 1.4299,
                "total_contest": 0.7451,
                "won_contest": 0.164,
                "ball_recovery": 1.579,
                "challenges_lost": 0.2362,
                "fouls": 0.267,
                "fouls_drawn": 1.234,
                "assist_rate": 0.4599,
                "assists": 0,
                "interceptions": 0.494,
                "tackles_won": 0.227,
                "tackles": 0.227,
                "clearances": 0.6284,
                "blocks": 0.0,
                "big_chances_created": 0.967,
                "big_chances_missed": 1.566,
                "xgot": 0.7387,
                "offsides": 0.4788,
                "ball_carries": 6.7671,
                "total_progression": 31.5741,
                "progressive_carries": 1.4139,
                "shots_off_target": 0.6182,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.1338,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0031,
                "creation_factor": 1.25,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.1338,
                "goal_rate": 0.1759,
                "scorer_weight": 0.1516,
                "squad_weight_total": 2.4769,
                "weight_share": 0.0612,
                "finishing_factor": 1.0031,
                "appearance_weight": 0.608,
                "weight_rank": 6,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.6971,
                    "already": 0,
                    "effective_weight": 0.6971,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.3346
                  },
                  {
                    "n": 2,
                    "player": "Alex Baena",
                    "weight": 0.3346,
                    "already": 0,
                    "effective_weight": 0.3346,
                    "runner_up": "Kang-in Lee",
                    "runner_up_effective_weight": 0.3062
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.1511,
                "goal_rate": 0.1759,
                "goals": 0,
                "shots_on_target": 0.5205,
                "total_shots": 1.1387,
                "expected_assists": 0.0381,
                "key_pass": 0.5611,
                "rating": 6.6586,
                "minutes": 26.37,
                "total_pass": 16.9101,
                "accurate_pass": 13.9565,
                "duels_won": 2.1321,
                "total_long_balls": 0.4781,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 12.2394,
                "accurate_opp_half_passes": 10.0309,
                "crosses_total": 0.5071,
                "crosses_accurate": 0.0,
                "touches": 28.5302,
                "possession_lost": 6.9762,
                "dispossessed": 1.3289,
                "duels_lost": 4.2338,
                "aerial_lost": 1.4299,
                "total_contest": 0.7451,
                "won_contest": 0.164,
                "ball_recovery": 1.579,
                "challenges_lost": 0.2362,
                "fouls": 0.267,
                "fouls_drawn": 1.234,
                "assist_rate": 0.4599,
                "assists": 0,
                "interceptions": 0.494,
                "tackles_won": 0.227,
                "tackles": 0.227,
                "clearances": 0.6284,
                "blocks": 0.0,
                "big_chances_created": 0.967,
                "big_chances_missed": 1.566,
                "xgot": 0.7387,
                "offsides": 0.4788,
                "ball_carries": 6.7671,
                "total_progression": 31.5741,
                "progressive_carries": 1.4139,
                "shots_off_target": 0.6182,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.1338,
                "projected_assists": 0,
                "assist_probability": 0.0369,
                "finishing_factor": 1.0031,
                "creation_factor": 1.25,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0369,
                "assist_rate": 0.4599,
                "provider_weight": 0.0476,
                "squad_weight_total": 1.6132,
                "weight_share": 0.0295,
                "creation_factor": 1.25,
                "appearance_weight": 0.608,
                "weight_rank": 11,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.257,
                    "already": 0,
                    "effective_weight": 0.257,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.2198
                  }
                ]
              }
            }
          ]
        }
      },
      "substitutes": {
        "Jonathan David": {
          "player_id": 935564,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 15,
          "height": 180,
          "market_value": 29000000,
          "stats": {
            "expected_goals": 0.1511,
            "goal_rate": 0.1759,
            "goals": 0,
            "shots_on_target": 1,
            "total_shots": 2,
            "expected_assists": 0.0381,
            "key_pass": 1,
            "rating": 6.6586,
            "minutes": 26,
            "total_pass": 17,
            "accurate_pass": 14,
            "duels_won": 2,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 12,
            "accurate_opp_half_passes": 10,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 29,
            "possession_lost": 6.9762,
            "dispossessed": 1.3289,
            "duels_lost": 4,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 2,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "assist_rate": 0.4599,
            "assists": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 1,
            "blocks": 0,
            "big_chances_created": 1,
            "big_chances_missed": 2,
            "xgot": 0.7387,
            "offsides": 0,
            "ball_carries": 7,
            "total_progression": 32,
            "progressive_carries": 1,
            "shots_off_target": 1,
            "bench_appearance_probability": 0.608,
            "bench_expected_minutes": 26.37,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.324,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.1338,
            "projected_assists": 0,
            "assist_probability": 0.0369,
            "finishing_factor": 1.0031,
            "creation_factor": 1.25,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16421071,
              "match_date": "2026-10-17",
              "home_team": "Espanyol",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.5773,
                "expected_assists": 0.0929,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 23,
                "accurate_pass": 18,
                "key_pass": 3,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421056,
              "match_date": "2026-10-10",
              "home_team": "Deportivo Alavés",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Deportivo Alavés",
              "stats": {
                "minutes": 45,
                "rating": 6.9,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 0.1264,
                "expected_assists": 0.0563,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 9,
                "accurate_pass": 7,
                "key_pass": 1,
                "interceptions": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416339,
              "match_date": "2026-09-20",
              "home_team": "Atlético Madrid",
              "away_team": "Real Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Madrid",
              "stats": {
                "minutes": 62,
                "rating": 7.3,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.5928,
                "expected_assists": 0.231,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 11,
                "accurate_pass": 11,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416335,
              "match_date": "2026-09-16",
              "home_team": "Atlético Madrid",
              "away_team": "Osasuna",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 68,
                "rating": 7.9,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 1.0,
                "assists": 1,
                "expected_goals": 1.4628,
                "expected_assists": 0.3606,
                "total_shots": 6,
                "shots_on_target": 3,
                "shots_off_target": 1,
                "total_pass": 18,
                "accurate_pass": 17,
                "key_pass": 4,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416332,
              "match_date": "2026-09-13",
              "home_team": "Real Sociedad",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 30,
                "rating": 7.9,
                "goal_rate": 1.0,
                "goals": 1,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.2584,
                "expected_assists": 0.0115,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 8,
                "accurate_pass": 4,
                "key_pass": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1190,
            "combined_rank_score": 524.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 310.0,
            "sofascore_rating": 7.0333,
            "sofascore_appearances": 6.0,
            "fifa_rank": 738.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.6586,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jonathan David",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Fernando Calero",
                  "ranking": 1185
                },
                {
                  "player_name": "Diego Rubio",
                  "ranking": 1186
                },
                {
                  "player_name": "Ismaïla Sarr",
                  "ranking": 1187
                },
                {
                  "player_name": "Kevin Danso",
                  "ranking": 1188
                },
                {
                  "player_name": "Folarin Balogun",
                  "ranking": 1189
                }
              ],
              "lower": [
                {
                  "player_name": "Gerard Martín",
                  "ranking": 1191
                },
                {
                  "player_name": "Keelan Lebon",
                  "ranking": 1192
                },
                {
                  "player_name": "Sukhrob Nurullaev",
                  "ranking": 1193
                },
                {
                  "player_name": "Ayyoub Bouaddi",
                  "ranking": 1194
                },
                {
                  "player_name": "Choi Hee-won",
                  "ranking": 1195
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.562,
          "history_matches": 5,
          "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",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "expectedGoals",
              "goals",
              "rating",
              "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",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 5,
            "data_confidence": 0.562,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 26.37159379857936,
            "bench_appearance_prob": 0.6077997181172436,
            "market_value_adjustment": 1.0307,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (5 historical appearances) to 26.4 expected mins (appearance prob 0.61)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 7 target models",
              "stats": {
                "expected_goals": 0.1504,
                "goals": 0.151,
                "goal_rate": 0.151,
                "shots_on_target": 0.4468,
                "total_shots": 0.9774,
                "expected_assists": 0.038,
                "key_pass": 0.4816,
                "rating": 6.6586,
                "minutes": 23.33,
                "total_pass": 14.5142,
                "accurate_pass": 11.979,
                "duels_won": 1.83,
                "total_long_balls": 0.4104,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 10.5053,
                "accurate_opp_half_passes": 8.6097,
                "crosses_total": 0.4352,
                "crosses_accurate": 0.0,
                "touches": 24.4878,
                "possession_lost": 5.9878,
                "dispossessed": 1.2893,
                "duels_lost": 3.6339,
                "aerial_lost": 1.3873,
                "total_contest": 0.6396,
                "won_contest": 0.1408,
                "ball_recovery": 1.3553,
                "challenges_lost": 0.2292,
                "fouls": 0.2292,
                "fouls_drawn": 1.0592,
                "assists": 0.3948,
                "assist_rate": 0.3948,
                "interceptions": 0.424,
                "tackles_won": 0.1948,
                "tackles": 0.1948,
                "clearances": 0.5393,
                "blocks": 0.0,
                "big_chances_created": 0.83,
                "big_chances_missed": 1.3441,
                "xgot": 0.7353,
                "offsides": 0.4645,
                "ball_carries": 5.8083,
                "total_progression": 27.1005,
                "progressive_carries": 1.2135,
                "shots_off_target": 0.5306
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 6,
                  "trained_at": "2026-10-30T10:06:06.001115+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 609,
                    "rows": 16888
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-10-17",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2696,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-10-10",
                    "opponent": "Deportivo Alavés",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.2292,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-09-20",
                    "opponent": "Real Madrid",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.1948,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-09-16",
                    "opponent": "Osasuna",
                    "minutes": 68.0,
                    "is_starting": true,
                    "weight": 0.1656,
                    "rating": 7.9
                  },
                  {
                    "match_date": "2026-09-13",
                    "opponent": "Real Sociedad",
                    "minutes": 30.0,
                    "is_starting": false,
                    "weight": 0.1408,
                    "rating": 7.9
                  }
                ],
                "feature_row": {
                  "history_matches": 5.0,
                  "is_starting_11": 0.0,
                  "expectedGoals": 0.5787,
                  "accuratePass": 11.979,
                  "totalOppositionHalfPasses": 10.5053,
                  "accurateOppositionHalfPasses": 8.6097,
                  "totalShots": 2.7028
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.15038436651229858,
                    "model_output": 0.1504,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2845
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0924
                      },
                      {
                        "name": "goals",
                        "importance": 0.0347
                      },
                      {
                        "name": "xg_per_shot",
                        "importance": 0.0293
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0228
                      }
                    ],
                    "decomposition": {
                      "base": 0.1959,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0966
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0236
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0097
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0064
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0052
                        }
                      ],
                      "others": 0.0062,
                      "total": 0.1504,
                      "log_link": true,
                      "margin_base": -1.629959,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.679386
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.213144
                        },
                        {
                          "name": "goals",
                          "margin": 0.076164
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.047434
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.037014
                        }
                      ],
                      "others_margin": 0.04103
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.15097643435001373,
                    "model_output": 0.151,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1389
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0752
                      },
                      {
                        "name": "goals",
                        "importance": 0.053
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0357
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0318
                      }
                    ],
                    "decomposition": {
                      "base": 0.2005,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0914
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": 0.0202
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": 0.0131
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.01
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0097
                        }
                      ],
                      "others": -0.0111,
                      "total": 0.151,
                      "log_link": true,
                      "margin_base": -1.607059,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.608601
                        },
                        {
                          "name": "expectedGoals",
                          "margin": 0.170224
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": 0.096395
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.06777
                        },
                        {
                          "name": "goals",
                          "margin": 0.061659
                        }
                      ],
                      "others_margin": -0.071018
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.44678741693496704,
                    "model_output": 0.4468,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2284
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0649
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0539
                      },
                      {
                        "name": "goals",
                        "importance": 0.0437
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0351
                      }
                    ],
                    "decomposition": {
                      "base": 0.5322,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2162
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.0434
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0254
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0188
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0184
                        }
                      ],
                      "others": 0.0248,
                      "total": 0.4468,
                      "log_link": true,
                      "margin_base": -0.630772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.521312
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.128569
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.068408
                        },
                        {
                          "name": "goals",
                          "margin": 0.047589
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.044633
                        }
                      ],
                      "others_margin": 0.057212
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.9774101376533508,
                    "model_output": 0.9774,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.2907
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0699
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0519
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0288
                      },
                      {
                        "name": "goals",
                        "importance": 0.0237
                      }
                    ],
                    "decomposition": {
                      "base": 1.3802,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.6026
                        },
                        {
                          "name": "totalShots",
                          "contribution": 0.1793
                        },
                        {
                          "name": "history_matches",
                          "contribution": -0.0484
                        },
                        {
                          "name": "goals",
                          "contribution": 0.0481
                        },
                        {
                          "name": "ballRecovery",
                          "contribution": 0.0283
                        }
                      ],
                      "others": -0.0075,
                      "total": 0.9774,
                      "log_link": false,
                      "margin_base": 1.380151,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.602579
                        },
                        {
                          "name": "totalShots",
                          "margin": 0.179265
                        },
                        {
                          "name": "history_matches",
                          "margin": -0.048355
                        },
                        {
                          "name": "goals",
                          "margin": 0.048139
                        },
                        {
                          "name": "ballRecovery",
                          "margin": 0.02831
                        }
                      ],
                      "others_margin": -0.007522
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.03798332065343857,
                    "model_output": 0.038,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.1025
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0785
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0557
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0538
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0536
                      }
                    ],
                    "decomposition": {
                      "base": 0.0643,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0206
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0055
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0043
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0031
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.003
                        }
                      ],
                      "others": -0.0068,
                      "total": 0.038,
                      "log_link": true,
                      "margin_base": -2.744073,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.387098
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.1182
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.092133
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.072168
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.068926
                        }
                      ],
                      "others_margin": -0.162261
                    }
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.4816105365753174,
                    "model_output": 0.4816,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.1455
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.126
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0911
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0788
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.03
                      }
                    ],
                    "decomposition": {
                      "base": 0.6867,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.2684
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0404
                        },
                        {
                          "name": "keyPass",
                          "contribution": 0.0399
                        },
                        {
                          "name": "touches_p90",
                          "contribution": -0.0272
                        },
                        {
                          "name": "possessionLostCtrl",
                          "contribution": -0.0237
                        }
                      ],
                      "others": 0.0339,
                      "total": 0.4816,
                      "log_link": true,
                      "margin_base": -0.375804,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.495577
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.092252
                        },
                        {
                          "name": "keyPass",
                          "margin": 0.08329
                        },
                        {
                          "name": "touches_p90",
                          "margin": -0.056068
                        },
                        {
                          "name": "possessionLostCtrl",
                          "margin": -0.051484
                        }
                      ],
                      "others_margin": 0.072772
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.6586198806762695,
                    "model_output": 6.6586,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0591
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0494
                      },
                      {
                        "name": "rating",
                        "importance": 0.0477
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0452
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0416
                      }
                    ],
                    "decomposition": {
                      "base": 6.7708,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0764
                        },
                        {
                          "name": "rating",
                          "contribution": 0.0466
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": 0.0311
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "contribution": -0.028
                        },
                        {
                          "name": "xg_per_shot",
                          "contribution": -0.0185
                        }
                      ],
                      "others": -0.067,
                      "total": 6.6586,
                      "log_link": false,
                      "margin_base": 6.770844,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.076408
                        },
                        {
                          "name": "rating",
                          "margin": 0.046628
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": 0.031135
                        },
                        {
                          "name": "dribbleValueNormalized",
                          "margin": -0.028043
                        },
                        {
                          "name": "xg_per_shot",
                          "margin": -0.018512
                        }
                      ],
                      "others_margin": -0.067025
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 5,
                  "role_matches": 1,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "all_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0307, quality 0.710)",
              "stats": {
                "expected_goals": 0.155,
                "goals": 0.1556,
                "goal_rate": 0.1556,
                "shots_on_target": 0.4605,
                "total_shots": 1.0074,
                "expected_assists": 0.0391,
                "key_pass": 0.4964,
                "rating": 6.6586,
                "minutes": 23.33,
                "total_pass": 14.9598,
                "accurate_pass": 12.3468,
                "duels_won": 1.8862,
                "total_long_balls": 0.423,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 10.8278,
                "accurate_opp_half_passes": 8.874,
                "crosses_total": 0.4486,
                "crosses_accurate": 0.0,
                "touches": 25.2396,
                "possession_lost": 6.1716,
                "dispossessed": 1.3289,
                "duels_lost": 3.7455,
                "aerial_lost": 1.4299,
                "total_contest": 0.6592,
                "won_contest": 0.1451,
                "ball_recovery": 1.3969,
                "challenges_lost": 0.2362,
                "fouls": 0.2362,
                "fouls_drawn": 1.0917,
                "assists": 0.4069,
                "assist_rate": 0.4069,
                "interceptions": 0.437,
                "tackles_won": 0.2008,
                "tackles": 0.2008,
                "clearances": 0.5559,
                "blocks": 0.0,
                "big_chances_created": 0.8555,
                "big_chances_missed": 1.3854,
                "xgot": 0.7579,
                "offsides": 0.4788,
                "ball_carries": 5.9866,
                "total_progression": 27.9325,
                "progressive_carries": 1.2508,
                "shots_off_target": 0.5469
              },
              "params": {
                "market_value_eur": 29000000,
                "quality_factor": 0.71,
                "boost_factor": 1.0307,
                "reference_quality": 0.505,
                "history_matches": 5,
                "history_shrink": 0.5,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 23.3 to 26.4 expected minutes (appearance prob 0.61)",
              "stats": {
                "expected_goals": 0.1752,
                "goals": 0.1759,
                "goal_rate": 0.1759,
                "shots_on_target": 0.5205,
                "total_shots": 1.1387,
                "expected_assists": 0.0442,
                "key_pass": 0.5611,
                "rating": 6.6586,
                "minutes": 26.37,
                "total_pass": 16.9101,
                "accurate_pass": 13.9565,
                "duels_won": 2.1321,
                "total_long_balls": 0.4781,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 12.2394,
                "accurate_opp_half_passes": 10.0309,
                "crosses_total": 0.5071,
                "crosses_accurate": 0.0,
                "touches": 28.5302,
                "possession_lost": 6.9762,
                "dispossessed": 1.3289,
                "duels_lost": 4.2338,
                "aerial_lost": 1.4299,
                "total_contest": 0.7451,
                "won_contest": 0.164,
                "ball_recovery": 1.579,
                "challenges_lost": 0.2362,
                "fouls": 0.267,
                "fouls_drawn": 1.234,
                "assists": 0.4599,
                "assist_rate": 0.4599,
                "interceptions": 0.494,
                "tackles_won": 0.227,
                "tackles": 0.227,
                "clearances": 0.6284,
                "blocks": 0.0,
                "big_chances_created": 0.967,
                "big_chances_missed": 1.566,
                "xgot": 0.8567,
                "offsides": 0.4788,
                "ball_carries": 6.7671,
                "total_progression": 31.5741,
                "progressive_carries": 1.4139,
                "shots_off_target": 0.6182,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37
              },
              "params": {
                "expected_minutes": 26.37,
                "projection_minutes": 23.33,
                "minutes_scale": 1.1304,
                "appearance_probability": 0.608
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1752,
                "goals": 0.1759,
                "goal_rate": 0.1759,
                "shots_on_target": 0.5205,
                "total_shots": 1.1387,
                "expected_assists": 0.0442,
                "key_pass": 0.5611,
                "rating": 6.6586,
                "minutes": 26.37,
                "total_pass": 16.9101,
                "accurate_pass": 13.9565,
                "duels_won": 2.1321,
                "total_long_balls": 0.4781,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 12.2394,
                "accurate_opp_half_passes": 10.0309,
                "crosses_total": 0.5071,
                "crosses_accurate": 0.0,
                "touches": 28.5302,
                "possession_lost": 6.9762,
                "dispossessed": 1.3289,
                "duels_lost": 4.2338,
                "aerial_lost": 1.4299,
                "total_contest": 0.7451,
                "won_contest": 0.164,
                "ball_recovery": 1.579,
                "challenges_lost": 0.2362,
                "fouls": 0.267,
                "fouls_drawn": 1.234,
                "assists": 0.4599,
                "assist_rate": 0.4599,
                "interceptions": 0.494,
                "tackles_won": 0.227,
                "tackles": 0.227,
                "clearances": 0.6284,
                "blocks": 0.0,
                "big_chances_created": 0.967,
                "big_chances_missed": 1.566,
                "xgot": 0.8567,
                "offsides": 0.4788,
                "ball_carries": 6.7671,
                "total_progression": 31.5741,
                "progressive_carries": 1.4139,
                "shots_off_target": 0.6182,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "expected_goals": 0.1752,
                "goal_rate": 0.1759,
                "goals": 0,
                "shots_on_target": 0.5205,
                "total_shots": 1.1387,
                "expected_assists": 0.0442,
                "key_pass": 0.5611,
                "rating": 6.6586,
                "minutes": 26.37,
                "total_pass": 16.9101,
                "accurate_pass": 13.9565,
                "duels_won": 2.1321,
                "total_long_balls": 0.4781,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 12.2394,
                "accurate_opp_half_passes": 10.0309,
                "crosses_total": 0.5071,
                "crosses_accurate": 0.0,
                "touches": 28.5302,
                "possession_lost": 6.9762,
                "dispossessed": 1.3289,
                "duels_lost": 4.2338,
                "aerial_lost": 1.4299,
                "total_contest": 0.7451,
                "won_contest": 0.164,
                "ball_recovery": 1.579,
                "challenges_lost": 0.2362,
                "fouls": 0.267,
                "fouls_drawn": 1.234,
                "assist_rate": 0.4599,
                "assists": 0,
                "interceptions": 0.494,
                "tackles_won": 0.227,
                "tackles": 0.227,
                "clearances": 0.6284,
                "blocks": 0.0,
                "big_chances_created": 0.967,
                "big_chances_missed": 1.566,
                "xgot": 0.8567,
                "offsides": 0.4788,
                "ball_carries": 6.7671,
                "total_progression": 31.5741,
                "progressive_carries": 1.4139,
                "shots_off_target": 0.6182,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 2.27 (squad xG sum 1.5979, xG scale 1.4181, xA scale 1.4181, team xA 1.65 = 0.73 x lambda)",
              "stats": {
                "expected_goals": 0.1511,
                "goal_rate": 0.1759,
                "goals": 0,
                "shots_on_target": 0.5205,
                "total_shots": 1.1387,
                "expected_assists": 0.0381,
                "key_pass": 0.5611,
                "rating": 6.6586,
                "minutes": 26.37,
                "total_pass": 16.9101,
                "accurate_pass": 13.9565,
                "duels_won": 2.1321,
                "total_long_balls": 0.4781,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 12.2394,
                "accurate_opp_half_passes": 10.0309,
                "crosses_total": 0.5071,
                "crosses_accurate": 0.0,
                "touches": 28.5302,
                "possession_lost": 6.9762,
                "dispossessed": 1.3289,
                "duels_lost": 4.2338,
                "aerial_lost": 1.4299,
                "total_contest": 0.7451,
                "won_contest": 0.164,
                "ball_recovery": 1.579,
                "challenges_lost": 0.2362,
                "fouls": 0.267,
                "fouls_drawn": 1.234,
                "assist_rate": 0.4599,
                "assists": 0,
                "interceptions": 0.494,
                "tackles_won": 0.227,
                "tackles": 0.227,
                "clearances": 0.6284,
                "blocks": 0.0,
                "big_chances_created": 0.967,
                "big_chances_missed": 1.566,
                "xgot": 0.7387,
                "offsides": 0.4788,
                "ball_carries": 6.7671,
                "total_progression": 31.5741,
                "progressive_carries": 1.4139,
                "shots_off_target": 0.6182,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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,
                "finishing_factor": 1.0031,
                "creation_factor": 1.25
              },
              "params": {
                "team_lambda": 2.266,
                "squad_xg_sum": 1.5979,
                "squad_xa_sum": 1.1609,
                "team_expected_assists": 1.6463,
                "team_xa_to_xg_ratio": 0.7265,
                "bench_appearance_weighted": true,
                "xg_scale": 1.4181,
                "xa_scale": 1.4181,
                "opponent_lambda": 1.191,
                "scoreline_reset": true,
                "appearance_weight": 0.608
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.1752,
                  "after": 0.1511
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0442,
                  "after": 0.0381
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 17 by projected rating, fifa_overall 80.0)",
              "stats": {
                "expected_goals": 0.1511,
                "goal_rate": 0.1759,
                "goals": 0,
                "shots_on_target": 0.5205,
                "total_shots": 1.1387,
                "expected_assists": 0.0381,
                "key_pass": 0.5611,
                "rating": 6.6586,
                "minutes": 26.37,
                "total_pass": 16.9101,
                "accurate_pass": 13.9565,
                "duels_won": 2.1321,
                "total_long_balls": 0.4781,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 12.2394,
                "accurate_opp_half_passes": 10.0309,
                "crosses_total": 0.5071,
                "crosses_accurate": 0.0,
                "touches": 28.5302,
                "possession_lost": 6.9762,
                "dispossessed": 1.3289,
                "duels_lost": 4.2338,
                "aerial_lost": 1.4299,
                "total_contest": 0.7451,
                "won_contest": 0.164,
                "ball_recovery": 1.579,
                "challenges_lost": 0.2362,
                "fouls": 0.267,
                "fouls_drawn": 1.234,
                "assist_rate": 0.4599,
                "assists": 0,
                "interceptions": 0.494,
                "tackles_won": 0.227,
                "tackles": 0.227,
                "clearances": 0.6284,
                "blocks": 0.0,
                "big_chances_created": 0.967,
                "big_chances_missed": 1.566,
                "xgot": 0.7387,
                "offsides": 0.4788,
                "ball_carries": 6.7671,
                "total_progression": 31.5741,
                "progressive_carries": 1.4139,
                "shots_off_target": 0.6182,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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,
                "finishing_factor": 1.0031,
                "creation_factor": 1.25,
                "fifa_overall": 80.0
              },
              "params": {
                "match_squad_rank": 17,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 1190,
                "fifa_rank": 738.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 80.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "expected_goals": 0.1511,
                "goal_rate": 0.1759,
                "goals": 0,
                "shots_on_target": 0.5205,
                "total_shots": 1.1387,
                "expected_assists": 0.0381,
                "key_pass": 0.5611,
                "rating": 6.6586,
                "minutes": 26.37,
                "total_pass": 16.9101,
                "accurate_pass": 13.9565,
                "duels_won": 2.1321,
                "total_long_balls": 0.4781,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 12.2394,
                "accurate_opp_half_passes": 10.0309,
                "crosses_total": 0.5071,
                "crosses_accurate": 0.0,
                "touches": 28.5302,
                "possession_lost": 6.9762,
                "dispossessed": 1.3289,
                "duels_lost": 4.2338,
                "aerial_lost": 1.4299,
                "total_contest": 0.7451,
                "won_contest": 0.164,
                "ball_recovery": 1.579,
                "challenges_lost": 0.2362,
                "fouls": 0.267,
                "fouls_drawn": 1.234,
                "assist_rate": 0.4599,
                "assists": 0,
                "interceptions": 0.494,
                "tackles_won": 0.227,
                "tackles": 0.227,
                "clearances": 0.6284,
                "blocks": 0.0,
                "big_chances_created": 0.967,
                "big_chances_missed": 1.566,
                "xgot": 0.7387,
                "offsides": 0.4788,
                "ball_carries": 6.7671,
                "total_progression": 31.5741,
                "progressive_carries": 1.4139,
                "shots_off_target": 0.6182,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.1338,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0031,
                "creation_factor": 1.25,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.1338,
                "goal_rate": 0.1759,
                "scorer_weight": 0.1516,
                "squad_weight_total": 2.4769,
                "weight_share": 0.0612,
                "finishing_factor": 1.0031,
                "appearance_weight": 0.608,
                "weight_rank": 6,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.6971,
                    "already": 0,
                    "effective_weight": 0.6971,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.3346
                  },
                  {
                    "n": 2,
                    "player": "Alex Baena",
                    "weight": 0.3346,
                    "already": 0,
                    "effective_weight": 0.3346,
                    "runner_up": "Kang-in Lee",
                    "runner_up_effective_weight": 0.3062
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "expected_goals": 0.1511,
                "goal_rate": 0.1759,
                "goals": 0,
                "shots_on_target": 0.5205,
                "total_shots": 1.1387,
                "expected_assists": 0.0381,
                "key_pass": 0.5611,
                "rating": 6.6586,
                "minutes": 26.37,
                "total_pass": 16.9101,
                "accurate_pass": 13.9565,
                "duels_won": 2.1321,
                "total_long_balls": 0.4781,
                "accurate_long_balls": 0.0,
                "total_opp_half_passes": 12.2394,
                "accurate_opp_half_passes": 10.0309,
                "crosses_total": 0.5071,
                "crosses_accurate": 0.0,
                "touches": 28.5302,
                "possession_lost": 6.9762,
                "dispossessed": 1.3289,
                "duels_lost": 4.2338,
                "aerial_lost": 1.4299,
                "total_contest": 0.7451,
                "won_contest": 0.164,
                "ball_recovery": 1.579,
                "challenges_lost": 0.2362,
                "fouls": 0.267,
                "fouls_drawn": 1.234,
                "assist_rate": 0.4599,
                "assists": 0,
                "interceptions": 0.494,
                "tackles_won": 0.227,
                "tackles": 0.227,
                "clearances": 0.6284,
                "blocks": 0.0,
                "big_chances_created": 0.967,
                "big_chances_missed": 1.566,
                "xgot": 0.7387,
                "offsides": 0.4788,
                "ball_carries": 6.7671,
                "total_progression": 31.5741,
                "progressive_carries": 1.4139,
                "shots_off_target": 0.6182,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.1338,
                "projected_assists": 0,
                "assist_probability": 0.0369,
                "finishing_factor": 1.0031,
                "creation_factor": 1.25,
                "fifa_overall": 80.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0369,
                "assist_rate": 0.4599,
                "provider_weight": 0.0476,
                "squad_weight_total": 1.6132,
                "weight_share": 0.0295,
                "creation_factor": 1.25,
                "appearance_weight": 0.608,
                "weight_rank": 11,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.257,
                    "already": 0,
                    "effective_weight": 0.257,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.2198
                  }
                ]
              }
            }
          ]
        },
        "Thiago Almada": {
          "player_id": 944660,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 11,
          "height": 171,
          "market_value": 21000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0535,
            "assist_rate": 0.0829,
            "assists": 0,
            "expected_goals": 0.0208,
            "goal_rate": 0.0323,
            "goals": 0,
            "shots_on_target": 0,
            "total_shots": 0,
            "rating": 6.7197,
            "minutes": 23,
            "total_pass": 13,
            "accurate_pass": 12,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 4,
            "accurate_own_half_passes": 4,
            "total_opp_half_passes": 8,
            "accurate_opp_half_passes": 7,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 17,
            "possession_lost": 2.9599,
            "dispossessed": 0.2125,
            "duels_lost": 2,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.1206,
            "ball_carries": 6,
            "total_progression": 22,
            "progressive_carries": 2,
            "shots_off_target": 0,
            "bench_appearance_probability": 0.535,
            "bench_expected_minutes": 22.78,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.324,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0204,
            "projected_assists": 0,
            "assist_probability": 0.0509,
            "finishing_factor": 1.0633,
            "creation_factor": 1.1029,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 14083661,
              "match_date": "2026-05-17",
              "home_team": "Atlético Madrid",
              "away_team": "Girona FC",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Girona FC",
              "stats": {
                "minutes": 45,
                "rating": 7.2,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.307,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 14,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 2,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083634,
              "match_date": "2026-05-12",
              "home_team": "Osasuna",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Osasuna",
              "stats": {
                "minutes": 45,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0113,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 13,
                "tackles": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083551,
              "match_date": "2026-05-09",
              "home_team": "Atlético Madrid",
              "away_team": "Celta Vigo",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Celta Vigo",
              "stats": {
                "minutes": 29,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0245,
                "expected_assists": 0.188,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 16,
                "accurate_pass": 15,
                "key_pass": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083476,
              "match_date": "2026-05-02",
              "home_team": "Valencia",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Valencia",
              "stats": {
                "minutes": 73,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.1554,
                "expected_assists": 0.2913,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 29,
                "accurate_pass": 26,
                "key_pass": 3,
                "tackles": 1,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083306,
              "match_date": "2026-04-22",
              "home_team": "Elche",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Elche",
              "stats": {
                "minutes": 30,
                "rating": 4.5,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0072,
                "total_shots": 0,
                "total_pass": 8,
                "accurate_pass": 7,
                "tackles": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083161,
              "match_date": "2026-04-11",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0359,
                "expected_assists": 0.5165,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 58,
                "accurate_pass": 49,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14081810,
              "match_date": "2026-04-04",
              "home_team": "Atlético Madrid",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.0107,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 22,
                "tackles": 4,
                "tackles_won": 3,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 8,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083612,
              "match_date": "2026-03-14",
              "home_team": "Atlético Madrid",
              "away_team": "Getafe",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Getafe",
              "stats": {
                "minutes": 66,
                "rating": 6.6,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.02,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 18,
                "tackles": 3,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14083602,
              "match_date": "2026-03-07",
              "home_team": "Atlético Madrid",
              "away_team": "Real Sociedad",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Sociedad",
              "stats": {
                "minutes": 54,
                "rating": 6.7,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_assists": 0.107,
                "total_shots": 0,
                "total_pass": 33,
                "accurate_pass": 30,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            },
            {
              "match_id": 14081795,
              "match_date": "2026-02-28",
              "home_team": "Real Oviedo",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Atlético Madrid",
              "opponent": "Real Oviedo",
              "stats": {
                "minutes": 72,
                "rating": 6.8,
                "assist_rate": 0.0,
                "assists": 0,
                "expected_goals": 0.0308,
                "expected_assists": 0.054,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 41,
                "accurate_pass": 37,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "77559",
              "season_name": "LaLiga 25/26",
              "season_year": "25/26"
            }
          ],
          "ranking": {
            "global_player_rank": 2519,
            "combined_rank_score": 908.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 576.0,
            "sofascore_rating": 6.8037,
            "sofascore_appearances": 27.0,
            "fifa_rank": 1240.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "substitute",
            "ranking_match": "player_id",
            "projected_match_rating": 6.7197,
            "source_file": "data/player_rankings.csv",
            "player_name": "Thiago Almada",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jens Stage",
                  "ranking": 2514
                },
                {
                  "player_name": "Seol Hyun-Jin",
                  "ranking": 2515
                },
                {
                  "player_name": "Dramane Salou",
                  "ranking": 2516
                },
                {
                  "player_name": "Moritz Nicolas",
                  "ranking": 2517
                },
                {
                  "player_name": "El Hadji Malick Diouf",
                  "ranking": 2518
                }
              ],
              "lower": [
                {
                  "player_name": "Jacob Ramsey",
                  "ranking": 2520
                },
                {
                  "player_name": "Wilfried Singo",
                  "ranking": 2521
                },
                {
                  "player_name": "Noah Okafor",
                  "ranking": 2522
                },
                {
                  "player_name": "Noah Atubolu",
                  "ranking": 2523
                },
                {
                  "player_name": "Stole Dimitrievski",
                  "ranking": 2524
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.75,
          "history_matches": 27,
          "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",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "rating",
              "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",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "totalShots",
              "rating"
            ],
            "history_matches": 27,
            "data_confidence": 0.75,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 22.77746860076133,
            "bench_appearance_prob": 0.5353394818527877,
            "market_value_adjustment": 1.0064,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost M_service (27 historical appearances) to 22.8 expected mins (appearance prob 0.54)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 8 target models",
              "stats": {
                "key_pass": 0.9016,
                "expected_assists": 0.0773,
                "assists": 0.0909,
                "assist_rate": 0.0909,
                "expected_goals": 0.03,
                "goals": 0.0355,
                "goal_rate": 0.0355,
                "shots_on_target": 0.134,
                "total_shots": 0.3857,
                "rating": 6.7197,
                "minutes": 25.15,
                "total_pass": 13.9279,
                "accurate_pass": 12.6206,
                "duels_won": 1.2627,
                "total_long_balls": 0.3609,
                "accurate_long_balls": 0.1359,
                "total_own_half_passes": 4.8249,
                "accurate_own_half_passes": 4.4307,
                "total_opp_half_passes": 9.1029,
                "accurate_opp_half_passes": 8.1898,
                "crosses_total": 1.2271,
                "crosses_accurate": 0.1302,
                "touches": 19.1548,
                "possession_lost": 3.2474,
                "dispossessed": 0.2111,
                "duels_lost": 1.7545,
                "aerial_won": 0.0799,
                "aerial_lost": 0.2009,
                "interceptions": 0.4094,
                "tackles_won": 0.3958,
                "tackles": 0.3958,
                "clearances": 0.0932,
                "total_contest": 0.8204,
                "won_contest": 0.5723,
                "challenges_lost": 0.7664,
                "fouls": 0.328,
                "fouls_drawn": 0.2147,
                "blocks": 0.0,
                "big_chances_created": 0.2789,
                "big_chances_missed": 0.2227,
                "xgot": 0.1743,
                "ball_carries": 6.778,
                "total_progression": 24.4371,
                "progressive_carries": 2.3425,
                "shots_off_target": 0.2517
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 7,
                  "trained_at": "2026-10-30T10:05:30.772321+00:00",
                  "trained_on": {
                    "matches": 1420,
                    "players": 901,
                    "rows": 24770
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-05-17",
                    "opponent": "Girona FC",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.1519,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-05-12",
                    "opponent": "Osasuna",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.1291,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-05-09",
                    "opponent": "Celta Vigo",
                    "minutes": 29.0,
                    "is_starting": false,
                    "weight": 0.1097,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-05-02",
                    "opponent": "Valencia",
                    "minutes": 73.0,
                    "is_starting": true,
                    "weight": 0.0933,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-04-22",
                    "opponent": "Elche",
                    "minutes": 30.0,
                    "is_starting": true,
                    "weight": 0.0793,
                    "rating": 4.5
                  },
                  {
                    "match_date": "2026-04-11",
                    "opponent": "Sevilla",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0674,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-04-04",
                    "opponent": "FC Barcelona",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.0573,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-03-14",
                    "opponent": "Getafe",
                    "minutes": 66.0,
                    "is_starting": true,
                    "weight": 0.0487,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-03-07",
                    "opponent": "Real Sociedad",
                    "minutes": 54.0,
                    "is_starting": true,
                    "weight": 0.0414,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-02-28",
                    "opponent": "Real Oviedo",
                    "minutes": 72.0,
                    "is_starting": true,
                    "weight": 0.0352,
                    "rating": 6.8
                  }
                ],
                "feature_row": {
                  "history_matches": 20.0,
                  "is_starting_11": 0.0,
                  "totalShots": 0.5334,
                  "creative_index": 0.6009,
                  "expectedGoals": 0.0557,
                  "expectedAssists": 0.1516,
                  "totalOppositionHalfPasses": 15.6208
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.9015519618988037,
                    "model_output": 0.9016,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.1509
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1463
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0658
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0549
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0303
                      }
                    ],
                    "decomposition": {
                      "base": 0.8903,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.344
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0704
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0528
                        },
                        {
                          "name": "minutesPlayed",
                          "contribution": 0.0342
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0244
                        }
                      ],
                      "others": 0.1735,
                      "total": 0.9016,
                      "log_link": true,
                      "margin_base": -0.116227,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.488365
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.121164
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.082189
                        },
                        {
                          "name": "minutesPlayed",
                          "margin": 0.049787
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.034112
                        }
                      ],
                      "others_margin": 0.213701
                    }
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.07730595767498016,
                    "model_output": 0.0773,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedAssists",
                        "importance": 0.124
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1096
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.1004
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0504
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0481
                      }
                    ],
                    "decomposition": {
                      "base": 0.0849,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0349
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0058
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0057
                        },
                        {
                          "name": "cross_creative_contribution",
                          "contribution": 0.0029
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": 0.003
                        }
                      ],
                      "others": 0.0099,
                      "total": 0.0773,
                      "log_link": true,
                      "margin_base": -2.465779,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.528233
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.109264
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.096397
                        },
                        {
                          "name": "cross_creative_contribution",
                          "margin": 0.046511
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": 0.045188
                        }
                      ],
                      "others_margin": 0.136669
                    }
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.09088101983070374,
                    "model_output": 0.0909,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "creative_index",
                        "importance": 0.0484
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.041
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0364
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0345
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0343
                      }
                    ],
                    "decomposition": {
                      "base": 0.085,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0178
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.007
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0061
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.005
                        },
                        {
                          "name": "creative_index",
                          "contribution": 0.0038
                        }
                      ],
                      "others": 0.0118,
                      "total": 0.0909,
                      "log_link": true,
                      "margin_base": -2.464835,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.234286
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.099307
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.078558
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.06486
                        },
                        {
                          "name": "creative_index",
                          "margin": 0.048673
                        }
                      ],
                      "others_margin": 0.139241
                    }
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.0300334133207798,
                    "model_output": 0.03,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "expectedGoals",
                        "importance": 0.1246
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0812
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0743
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0424
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0236
                      }
                    ],
                    "decomposition": {
                      "base": 0.0914,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0446
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0076
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0027
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.002
                        },
                        {
                          "name": "interceptionWon",
                          "contribution": -0.0013
                        }
                      ],
                      "others": -0.0032,
                      "total": 0.03,
                      "log_link": true,
                      "margin_base": -2.392179,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.669051
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.176942
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.072563
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.055606
                        },
                        {
                          "name": "interceptionWon",
                          "margin": -0.037742
                        }
                      ],
                      "others_margin": -0.101363
                    }
                  },
                  {
                    "target": "goals",
                    "predicted": 0.0355110764503479,
                    "model_output": 0.0355,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.0997
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0571
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0408
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0322
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0292
                      }
                    ],
                    "decomposition": {
                      "base": 0.095,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0397
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.011
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.0028
                        },
                        {
                          "name": "totalProgression",
                          "contribution": -0.0016
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "contribution": 0.0014
                        }
                      ],
                      "others": -0.0058,
                      "total": 0.0355,
                      "log_link": true,
                      "margin_base": -2.354031,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.541373
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.222639
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.065139
                        },
                        {
                          "name": "totalProgression",
                          "margin": -0.038599
                        },
                        {
                          "name": "progressiveBallCarriesCount",
                          "margin": 0.03535
                        }
                      ],
                      "others_margin": -0.15148
                    }
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.1339651346206665,
                    "model_output": 0.134,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1247
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0771
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0762
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0302
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0257
                      }
                    ],
                    "decomposition": {
                      "base": 0.3183,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.1392
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.0389
                        },
                        {
                          "name": "expectedGoals",
                          "contribution": -0.0064
                        },
                        {
                          "name": "passValueNormalized",
                          "contribution": -0.0052
                        },
                        {
                          "name": "totalCross",
                          "contribution": 0.0035
                        }
                      ],
                      "others": 0.0019,
                      "total": 0.134,
                      "log_link": true,
                      "margin_base": -1.144772,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.57517
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.245166
                        },
                        {
                          "name": "expectedGoals",
                          "margin": -0.046959
                        },
                        {
                          "name": "passValueNormalized",
                          "margin": -0.039582
                        },
                        {
                          "name": "totalCross",
                          "margin": 0.026753
                        }
                      ],
                      "others_margin": 0.014719
                    }
                  },
                  {
                    "target": "totalShots",
                    "predicted": 0.3857114315032959,
                    "model_output": 0.3857,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.1344
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.1196
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0517
                      },
                      {
                        "name": "expectedGoals",
                        "importance": 0.0474
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0302
                      }
                    ],
                    "decomposition": {
                      "base": 0.9841,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.3339
                        },
                        {
                          "name": "totalShots",
                          "contribution": -0.2264
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "contribution": -0.034
                        },
                        {
                          "name": "dispossessed",
                          "contribution": 0.0177
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "contribution": -0.0144
                        }
                      ],
                      "others": -0.0074,
                      "total": 0.3857,
                      "log_link": false,
                      "margin_base": 0.984109,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.33395
                        },
                        {
                          "name": "totalShots",
                          "margin": -0.226375
                        },
                        {
                          "name": "onTargetScoringAttempt",
                          "margin": -0.03401
                        },
                        {
                          "name": "dispossessed",
                          "margin": 0.017732
                        },
                        {
                          "name": "opp_half_pass_pct",
                          "margin": -0.014427
                        }
                      ],
                      "others_margin": -0.007367
                    }
                  },
                  {
                    "target": "rating",
                    "predicted": 6.719694137573242,
                    "model_output": 6.7197,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "rating",
                        "importance": 0.0876
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0829
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0504
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0471
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0357
                      }
                    ],
                    "decomposition": {
                      "base": 6.8552,
                      "items": [
                        {
                          "name": "is_starting_11",
                          "contribution": -0.0895
                        },
                        {
                          "name": "rating",
                          "contribution": -0.0335
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "contribution": -0.0099
                        },
                        {
                          "name": "expectedAssists",
                          "contribution": 0.0092
                        },
                        {
                          "name": "creative_efficiency",
                          "contribution": 0.0082
                        }
                      ],
                      "others": -0.02,
                      "total": 6.7197,
                      "log_link": false,
                      "margin_base": 6.855195,
                      "item_margins": [
                        {
                          "name": "is_starting_11",
                          "margin": -0.089527
                        },
                        {
                          "name": "rating",
                          "margin": -0.033528
                        },
                        {
                          "name": "defensiveValueNormalized",
                          "margin": -0.009854
                        },
                        {
                          "name": "expectedAssists",
                          "margin": 0.009217
                        },
                        {
                          "name": "creative_efficiency",
                          "margin": 0.008155
                        }
                      ],
                      "others_margin": -0.019964
                    }
                  }
                ],
                "prediction_basis": {
                  "source": "xgboost_regressor",
                  "role": "substitute",
                  "history_matches": 27,
                  "role_matches": 11,
                  "minutes_source": "role_history_shrunk",
                  "volume_basis": "role_history"
                },
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the recency-weighted average of his appearances in this role (starter / substitute). Missing provider values count as 0 only when the provider recorded that stat for the match."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0064, quality 0.641)",
              "stats": {
                "key_pass": 0.9073,
                "expected_assists": 0.0778,
                "assists": 0.0915,
                "assist_rate": 0.0915,
                "expected_goals": 0.0302,
                "goals": 0.0357,
                "goal_rate": 0.0357,
                "shots_on_target": 0.1348,
                "total_shots": 0.3882,
                "rating": 6.7197,
                "minutes": 25.15,
                "total_pass": 14.017,
                "accurate_pass": 12.7014,
                "duels_won": 1.2708,
                "total_long_balls": 0.3632,
                "accurate_long_balls": 0.1368,
                "total_own_half_passes": 4.8558,
                "accurate_own_half_passes": 4.4591,
                "total_opp_half_passes": 9.1612,
                "accurate_opp_half_passes": 8.2422,
                "crosses_total": 1.235,
                "crosses_accurate": 0.131,
                "touches": 19.2774,
                "possession_lost": 3.2682,
                "dispossessed": 0.2125,
                "duels_lost": 1.7657,
                "aerial_won": 0.0804,
                "aerial_lost": 0.2022,
                "interceptions": 0.412,
                "tackles_won": 0.3983,
                "tackles": 0.3983,
                "clearances": 0.0938,
                "total_contest": 0.8257,
                "won_contest": 0.576,
                "challenges_lost": 0.7713,
                "fouls": 0.3301,
                "fouls_drawn": 0.2161,
                "blocks": 0.0,
                "big_chances_created": 0.2807,
                "big_chances_missed": 0.2241,
                "xgot": 0.1754,
                "ball_carries": 6.8214,
                "total_progression": 24.5935,
                "progressive_carries": 2.3575,
                "shots_off_target": 0.2533
              },
              "params": {
                "market_value_eur": 21000000,
                "quality_factor": 0.6408,
                "boost_factor": 1.0064,
                "reference_quality": 0.505,
                "history_matches": 27,
                "history_shrink": 0.1562,
                "market_value_known": true
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled from 25.1 to 22.8 expected minutes (appearance prob 0.54)",
              "stats": {
                "key_pass": 0.8217,
                "expected_assists": 0.0705,
                "assists": 0.0829,
                "assist_rate": 0.0829,
                "expected_goals": 0.0274,
                "goals": 0.0323,
                "goal_rate": 0.0323,
                "shots_on_target": 0.1221,
                "total_shots": 0.3516,
                "rating": 6.7197,
                "minutes": 22.78,
                "total_pass": 12.6947,
                "accurate_pass": 11.5032,
                "duels_won": 1.1509,
                "total_long_balls": 0.3289,
                "accurate_long_balls": 0.1239,
                "total_own_half_passes": 4.3977,
                "accurate_own_half_passes": 4.0384,
                "total_opp_half_passes": 8.297,
                "accurate_opp_half_passes": 7.4647,
                "crosses_total": 1.1185,
                "crosses_accurate": 0.1186,
                "touches": 17.4589,
                "possession_lost": 2.9599,
                "dispossessed": 0.2125,
                "duels_lost": 1.5991,
                "aerial_won": 0.0728,
                "aerial_lost": 0.2022,
                "interceptions": 0.3731,
                "tackles_won": 0.3607,
                "tackles": 0.3607,
                "clearances": 0.085,
                "total_contest": 0.7478,
                "won_contest": 0.5217,
                "challenges_lost": 0.7713,
                "fouls": 0.299,
                "fouls_drawn": 0.1957,
                "blocks": 0.0,
                "big_chances_created": 0.2542,
                "big_chances_missed": 0.203,
                "xgot": 0.1589,
                "ball_carries": 6.1779,
                "total_progression": 22.2735,
                "progressive_carries": 2.1351,
                "shots_off_target": 0.2294,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 22.78
              },
              "params": {
                "expected_minutes": 22.78,
                "projection_minutes": 25.15,
                "minutes_scale": 0.9057,
                "appearance_probability": 0.535
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0.8217,
                "expected_assists": 0.0705,
                "assists": 0.0829,
                "assist_rate": 0.0829,
                "expected_goals": 0.0274,
                "goals": 0.0323,
                "goal_rate": 0.0323,
                "shots_on_target": 0.1221,
                "total_shots": 0.3516,
                "rating": 6.7197,
                "minutes": 22.78,
                "total_pass": 12.6947,
                "accurate_pass": 11.5032,
                "duels_won": 1.1509,
                "total_long_balls": 0.3289,
                "accurate_long_balls": 0.1239,
                "total_own_half_passes": 4.3977,
                "accurate_own_half_passes": 4.0384,
                "total_opp_half_passes": 8.297,
                "accurate_opp_half_passes": 7.4647,
                "crosses_total": 1.1185,
                "crosses_accurate": 0.1186,
                "touches": 17.4589,
                "possession_lost": 2.9599,
                "dispossessed": 0.2125,
                "duels_lost": 1.5991,
                "aerial_won": 0.0728,
                "aerial_lost": 0.2022,
                "interceptions": 0.3731,
                "tackles_won": 0.3607,
                "tackles": 0.3607,
                "clearances": 0.085,
                "total_contest": 0.7478,
                "won_contest": 0.5217,
                "challenges_lost": 0.7713,
                "fouls": 0.299,
                "fouls_drawn": 0.1957,
                "blocks": 0.0,
                "big_chances_created": 0.2542,
                "big_chances_missed": 0.203,
                "xgot": 0.1589,
                "ball_carries": 6.1779,
                "total_progression": 22.2735,
                "progressive_carries": 2.1351,
                "shots_off_target": 0.2294,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 22.78
              },
              "params": {
                "stats_clamped": 0,
                "shot_identity_applied": false
              }
            },
            {
              "step": "scoreline_reset",
              "description": "Team scoreline allocation: goal/assist counters reset to 0; the team's 2 goals are handed out as whole numbers by integer_goal_projection / integer_assist_projection",
              "stats": {
                "key_pass": 0.8217,
                "expected_assists": 0.0705,
                "assist_rate": 0.0829,
                "assists": 0,
                "expected_goals": 0.0274,
                "goal_rate": 0.0323,
                "goals": 0,
                "shots_on_target": 0.1221,
                "total_shots": 0.3516,
                "rating": 6.7197,
                "minutes": 22.78,
                "total_pass": 12.6947,
                "accurate_pass": 11.5032,
                "duels_won": 1.1509,
                "total_long_balls": 0.3289,
                "accurate_long_balls": 0.1239,
                "total_own_half_passes": 4.3977,
                "accurate_own_half_passes": 4.0384,
                "total_opp_half_passes": 8.297,
                "accurate_opp_half_passes": 7.4647,
                "crosses_total": 1.1185,
                "crosses_accurate": 0.1186,
                "touches": 17.4589,
                "possession_lost": 2.9599,
                "dispossessed": 0.2125,
                "duels_lost": 1.5991,
                "aerial_won": 0.0728,
                "aerial_lost": 0.2022,
                "interceptions": 0.3731,
                "tackles_won": 0.3607,
                "tackles": 0.3607,
                "clearances": 0.085,
                "total_contest": 0.7478,
                "won_contest": 0.5217,
                "challenges_lost": 0.7713,
                "fouls": 0.299,
                "fouls_drawn": 0.1957,
                "blocks": 0.0,
                "big_chances_created": 0.2542,
                "big_chances_missed": 0.203,
                "xgot": 0.1589,
                "ball_carries": 6.1779,
                "total_progression": 22.2735,
                "progressive_carries": 2.1351,
                "shots_off_target": 0.2294,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 22.78,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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
              },
              "params": {
                "scoreline_reset": true,
                "team_goals": 2
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled to unconditional contributions so squad sum equals team lambda 2.27 (squad xG sum 1.5979, xG scale 1.4181, xA scale 1.4181, team xA 1.65 = 0.73 x lambda)",
              "stats": {
                "key_pass": 0.8217,
                "expected_assists": 0.0535,
                "assist_rate": 0.0829,
                "assists": 0,
                "expected_goals": 0.0208,
                "goal_rate": 0.0323,
                "goals": 0,
                "shots_on_target": 0.1221,
                "total_shots": 0.3516,
                "rating": 6.7197,
                "minutes": 22.78,
                "total_pass": 12.6947,
                "accurate_pass": 11.5032,
                "duels_won": 1.1509,
                "total_long_balls": 0.3289,
                "accurate_long_balls": 0.1239,
                "total_own_half_passes": 4.3977,
                "accurate_own_half_passes": 4.0384,
                "total_opp_half_passes": 8.297,
                "accurate_opp_half_passes": 7.4647,
                "crosses_total": 1.1185,
                "crosses_accurate": 0.1186,
                "touches": 17.4589,
                "possession_lost": 2.9599,
                "dispossessed": 0.2125,
                "duels_lost": 1.5991,
                "aerial_won": 0.0728,
                "aerial_lost": 0.2022,
                "interceptions": 0.3731,
                "tackles_won": 0.3607,
                "tackles": 0.3607,
                "clearances": 0.085,
                "total_contest": 0.7478,
                "won_contest": 0.5217,
                "challenges_lost": 0.7713,
                "fouls": 0.299,
                "fouls_drawn": 0.1957,
                "blocks": 0.0,
                "big_chances_created": 0.2542,
                "big_chances_missed": 0.203,
                "xgot": 0.1206,
                "ball_carries": 6.1779,
                "total_progression": 22.2735,
                "progressive_carries": 2.1351,
                "shots_off_target": 0.2294,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 22.78,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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,
                "finishing_factor": 1.0633,
                "creation_factor": 1.1029
              },
              "params": {
                "team_lambda": 2.266,
                "squad_xg_sum": 1.5979,
                "squad_xa_sum": 1.1609,
                "team_expected_assists": 1.6463,
                "team_xa_to_xg_ratio": 0.7265,
                "bench_appearance_weighted": true,
                "xg_scale": 1.4181,
                "xa_scale": 1.4181,
                "opponent_lambda": 1.191,
                "scoreline_reset": true,
                "appearance_weight": 0.535
              },
              "changes": [
                {
                  "stat": "expected_goals",
                  "before": 0.0274,
                  "after": 0.0208
                },
                {
                  "stat": "expected_assists",
                  "before": 0.0705,
                  "after": 0.0535
                }
              ]
            },
            {
              "step": "rankings_attached",
              "description": "Display-only provenance: no published number changes. Global ranking attached (match squad rank 15 by projected rating, fifa_overall 78.0)",
              "stats": {
                "key_pass": 0.8217,
                "expected_assists": 0.0535,
                "assist_rate": 0.0829,
                "assists": 0,
                "expected_goals": 0.0208,
                "goal_rate": 0.0323,
                "goals": 0,
                "shots_on_target": 0.1221,
                "total_shots": 0.3516,
                "rating": 6.7197,
                "minutes": 22.78,
                "total_pass": 12.6947,
                "accurate_pass": 11.5032,
                "duels_won": 1.1509,
                "total_long_balls": 0.3289,
                "accurate_long_balls": 0.1239,
                "total_own_half_passes": 4.3977,
                "accurate_own_half_passes": 4.0384,
                "total_opp_half_passes": 8.297,
                "accurate_opp_half_passes": 7.4647,
                "crosses_total": 1.1185,
                "crosses_accurate": 0.1186,
                "touches": 17.4589,
                "possession_lost": 2.9599,
                "dispossessed": 0.2125,
                "duels_lost": 1.5991,
                "aerial_won": 0.0728,
                "aerial_lost": 0.2022,
                "interceptions": 0.3731,
                "tackles_won": 0.3607,
                "tackles": 0.3607,
                "clearances": 0.085,
                "total_contest": 0.7478,
                "won_contest": 0.5217,
                "challenges_lost": 0.7713,
                "fouls": 0.299,
                "fouls_drawn": 0.1957,
                "blocks": 0.0,
                "big_chances_created": 0.2542,
                "big_chances_missed": 0.203,
                "xgot": 0.1206,
                "ball_carries": 6.1779,
                "total_progression": 22.2735,
                "progressive_carries": 2.1351,
                "shots_off_target": 0.2294,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 22.78,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "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,
                "finishing_factor": 1.0633,
                "creation_factor": 1.1029,
                "fifa_overall": 78.0
              },
              "params": {
                "match_squad_rank": 15,
                "squad_role": "substitute",
                "squad_rank_basis": "projected_rating",
                "affects_projection": false,
                "ranking_source": "sofascore_plus_fifa_csv",
                "ranking_status": "combined",
                "global_player_rank": 2519,
                "fifa_rank": 1240.0,
                "fifa_source": "EA SPORTS FC official ratings",
                "ranking_match": "player_id",
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight (xG x finishing x appearance)",
              "stats": {
                "key_pass": 0.8217,
                "expected_assists": 0.0535,
                "assist_rate": 0.0829,
                "assists": 0,
                "expected_goals": 0.0208,
                "goal_rate": 0.0323,
                "goals": 0,
                "shots_on_target": 0.1221,
                "total_shots": 0.3516,
                "rating": 6.7197,
                "minutes": 22.78,
                "total_pass": 12.6947,
                "accurate_pass": 11.5032,
                "duels_won": 1.1509,
                "total_long_balls": 0.3289,
                "accurate_long_balls": 0.1239,
                "total_own_half_passes": 4.3977,
                "accurate_own_half_passes": 4.0384,
                "total_opp_half_passes": 8.297,
                "accurate_opp_half_passes": 7.4647,
                "crosses_total": 1.1185,
                "crosses_accurate": 0.1186,
                "touches": 17.4589,
                "possession_lost": 2.9599,
                "dispossessed": 0.2125,
                "duels_lost": 1.5991,
                "aerial_won": 0.0728,
                "aerial_lost": 0.2022,
                "interceptions": 0.3731,
                "tackles_won": 0.3607,
                "tackles": 0.3607,
                "clearances": 0.085,
                "total_contest": 0.7478,
                "won_contest": 0.5217,
                "challenges_lost": 0.7713,
                "fouls": 0.299,
                "fouls_drawn": 0.1957,
                "blocks": 0.0,
                "big_chances_created": 0.2542,
                "big_chances_missed": 0.203,
                "xgot": 0.1206,
                "ball_carries": 6.1779,
                "total_progression": 22.2735,
                "progressive_carries": 2.1351,
                "shots_off_target": 0.2294,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 22.78,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0204,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "finishing_factor": 1.0633,
                "creation_factor": 1.1029,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_goals": 2,
                "goals_allocated": 0,
                "goal_probability": 0.0204,
                "goal_rate": 0.0323,
                "scorer_weight": 0.0221,
                "squad_weight_total": 2.4769,
                "weight_share": 0.0089,
                "finishing_factor": 1.0633,
                "appearance_weight": 0.535,
                "weight_rank": 12,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.6971,
                    "already": 0,
                    "effective_weight": 0.6971,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.3346
                  },
                  {
                    "n": 2,
                    "player": "Alex Baena",
                    "weight": 0.3346,
                    "already": 0,
                    "effective_weight": 0.3346,
                    "runner_up": "Kang-in Lee",
                    "runner_up_effective_weight": 0.3062
                  }
                ]
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight (xA x creation x appearance; nobody assists his own goal)",
              "stats": {
                "key_pass": 0.8217,
                "expected_assists": 0.0535,
                "assist_rate": 0.0829,
                "assists": 0,
                "expected_goals": 0.0208,
                "goal_rate": 0.0323,
                "goals": 0,
                "shots_on_target": 0.1221,
                "total_shots": 0.3516,
                "rating": 6.7197,
                "minutes": 22.78,
                "total_pass": 12.6947,
                "accurate_pass": 11.5032,
                "duels_won": 1.1509,
                "total_long_balls": 0.3289,
                "accurate_long_balls": 0.1239,
                "total_own_half_passes": 4.3977,
                "accurate_own_half_passes": 4.0384,
                "total_opp_half_passes": 8.297,
                "accurate_opp_half_passes": 7.4647,
                "crosses_total": 1.1185,
                "crosses_accurate": 0.1186,
                "touches": 17.4589,
                "possession_lost": 2.9599,
                "dispossessed": 0.2125,
                "duels_lost": 1.5991,
                "aerial_won": 0.0728,
                "aerial_lost": 0.2022,
                "interceptions": 0.3731,
                "tackles_won": 0.3607,
                "tackles": 0.3607,
                "clearances": 0.085,
                "total_contest": 0.7478,
                "won_contest": 0.5217,
                "challenges_lost": 0.7713,
                "fouls": 0.299,
                "fouls_drawn": 0.1957,
                "blocks": 0.0,
                "big_chances_created": 0.2542,
                "big_chances_missed": 0.203,
                "xgot": 0.1206,
                "ball_carries": 6.1779,
                "total_progression": 22.2735,
                "progressive_carries": 2.1351,
                "shots_off_target": 0.2294,
                "bench_appearance_probability": 0.535,
                "bench_expected_minutes": 22.78,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.324,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0204,
                "projected_assists": 0,
                "assist_probability": 0.0509,
                "finishing_factor": 1.0633,
                "creation_factor": 1.1029,
                "fifa_overall": 78.0
              },
              "params": {
                "allocation_applied": true,
                "team_assists": 1,
                "assists_allocated": 0,
                "assist_probability": 0.0509,
                "assist_rate": 0.0829,
                "provider_weight": 0.059,
                "squad_weight_total": 1.6132,
                "weight_share": 0.0366,
                "creation_factor": 1.1029,
                "appearance_weight": 0.535,
                "weight_rank": 10,
                "eligible_players": 12,
                "allocation_rounds": [
                  {
                    "n": 1,
                    "player": "Julián Alvarez",
                    "weight": 0.257,
                    "already": 0,
                    "effective_weight": 0.257,
                    "runner_up": "Alex Baena",
                    "runner_up_effective_weight": 0.2198
                  }
                ]
              }
            }
          ]
        }
      },
      "team_totals": {
        "projected_goals": 2,
        "expected_goals": 2.27,
        "expected_assists": 1.65,
        "total_shots": 20,
        "shots_on_target": 6,
        "total_passes": 541,
        "interceptions": 10,
        "tackles": 13,
        "avg_rating": 7.05,
        "possession_estimated_pct": 54.6,
        "pressing_actions_per_90": 8.9
      }
    }
  },
  "antagonist_report": {
    "home_attacking_duels": [
      {
        "attacker": "Roger Brugué",
        "attacker_role": "LW",
        "attacker_market_value": 2800000,
        "attacker_height": 173,
        "attacker_skill_quality": 0.437,
        "defenders": [
          "Jan Oblak"
        ],
        "defender_roles": [
          "GK"
        ],
        "def_skill_quality_avg": 0.59,
        "duel_zone": "Left Wing vs Right Back — Flank Battle",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.237,
        "xg_contribution": 0.2397,
        "xg_multiplier": 0.731,
        "shots_in_zone": 1.4,
        "dribbles_attempted": 3,
        "dribbles_successful": 0.6,
        "aerial_duels": 2,
        "aerial_won": 0.9,
        "crosses_in_zone": 1.9,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Jan Oblak",
            "role": "GK",
            "market_value": 16000000,
            "tackles_attempted": 2.1,
            "tackles_won": 1.8,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.8,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.763
          }
        ],
        "duel_analysis": "Roger Brugué (LW) is heavily outmatched defensively against Jan Oblak in a direct 1v1 contest. Duel win probability: 24%.  Matchup xG multiplier ×0.73 (×1.00 = his usual level). Projected xG contribution: 0.240 — with very limited chance creation expected."
      },
      {
        "attacker": "Thiago Fernández",
        "attacker_role": "RW",
        "attacker_market_value": 4700000,
        "attacker_height": 175,
        "attacker_skill_quality": 0.458,
        "defenders": [
          "Marcos Llorente"
        ],
        "defender_roles": [
          "LB"
        ],
        "def_skill_quality_avg": 0.641,
        "duel_zone": "Right Wing vs Left Back — Flank Battle",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.327,
        "xg_contribution": 0.0957,
        "xg_multiplier": 0.7757,
        "shots_in_zone": 1.6,
        "dribbles_attempted": 3,
        "dribbles_successful": 0.9,
        "aerial_duels": 2,
        "aerial_won": 0.9,
        "crosses_in_zone": 1.9,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "Marcos Llorente",
            "role": "LB",
            "market_value": 21000000,
            "tackles_attempted": 2.1,
            "tackles_won": 1.8,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.0,
            "clearances_in_zone": 0.9,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.673
          }
        ],
        "duel_analysis": "Thiago Fernández (RW) is heavily outmatched defensively against Marcos Llorente in a direct 1v1 contest. Duel win probability: 33%. The quality gap is significant (€5M vs €21M avg). Matchup xG multiplier ×0.78 (×1.00 = his usual level). Projected xG contribution: 0.096 — with very limited chance creation expected."
      },
      {
        "attacker": "Iván Romero",
        "attacker_role": "ST",
        "attacker_market_value": 7400000,
        "attacker_height": 172,
        "attacker_skill_quality": 0.491,
        "defenders": [
          "Dávid Hancko",
          "Marc Pubill"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.787,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.18,
        "xg_contribution": 0.194,
        "xg_multiplier": 0.682,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.3,
        "aerial_duels": 3,
        "aerial_won": 1.3,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.5,
        "pressing_intensity_on_attacker": "HIGH",
        "defender_stats": [
          {
            "player": "Dávid Hancko",
            "role": "CB",
            "market_value": 36000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.0,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.2,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.82
          },
          {
            "player": "Marc Pubill",
            "role": "CB",
            "market_value": 48000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.0,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.82
          }
        ],
        "duel_analysis": "Iván Romero (ST) is heavily outmatched defensively against Dávid Hancko and Marc Pubill in a 2-defender block. Duel win probability: 18%. The quality gap is significant (€7M vs €42M avg). Matchup xG multiplier ×0.68 (×1.00 = his usual level). Projected xG contribution: 0.194 — with very limited chance creation expected."
      },
      {
        "attacker": "Daniel Requena",
        "attacker_role": "CDM",
        "attacker_market_value": 1500000,
        "attacker_height": 186,
        "attacker_skill_quality": 0.437,
        "defenders": [
          "Morten Hjulmand"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.817,
        "duel_zone": "CDM vs CDM",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.241,
        "xg_contribution": 0.0586,
        "xg_multiplier": 0.737,
        "shots_in_zone": 0.8,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.4,
        "aerial_duels": 2,
        "aerial_won": 1.2,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "ULTRA_HIGH",
        "defender_stats": [
          {
            "player": "Morten Hjulmand",
            "role": "CDM",
            "market_value": 48000000,
            "tackles_attempted": 2.3,
            "tackles_won": 2.0,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.759
          }
        ],
        "duel_analysis": "Daniel Requena (CDM) is heavily outmatched defensively against Morten Hjulmand in a direct 1v1 contest. Duel win probability: 24%. The quality gap is significant (€2M vs €48M avg). Matchup xG multiplier ×0.74 (×1.00 = his usual level). Projected xG contribution: 0.059 — with very limited chance creation expected."
      },
      {
        "attacker": "Oriol Rey",
        "attacker_role": "CM",
        "attacker_market_value": 1700000,
        "attacker_height": 175,
        "attacker_skill_quality": 0.437,
        "defenders": [
          "Morten Hjulmand"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.817,
        "duel_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.227,
        "xg_contribution": 0.0204,
        "xg_multiplier": 0.6723,
        "shots_in_zone": 1.2,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.4,
        "aerial_duels": 2,
        "aerial_won": 0.9,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "ULTRA_HIGH",
        "defender_stats": [
          {
            "player": "Morten Hjulmand",
            "role": "CDM",
            "market_value": 48000000,
            "tackles_attempted": 2.3,
            "tackles_won": 2.0,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.773
          }
        ],
        "duel_analysis": "Oriol Rey (CM) is heavily outmatched defensively against Morten Hjulmand in a direct 1v1 contest. Duel win probability: 23%. The quality gap is significant (€2M vs €48M avg). Matchup xG multiplier ×0.67 (×1.00 = his usual level). Projected xG contribution: 0.020 — with very limited chance creation expected."
      },
      {
        "attacker": "Jon Ander Olasagasti",
        "attacker_role": "CM",
        "attacker_market_value": 2700000,
        "attacker_height": 176,
        "attacker_skill_quality": 0.437,
        "defenders": [
          "Morten Hjulmand"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.817,
        "duel_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.231,
        "xg_contribution": 0.0559,
        "xg_multiplier": 0.6782,
        "shots_in_zone": 1.2,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.4,
        "aerial_duels": 2,
        "aerial_won": 0.9,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "ULTRA_HIGH",
        "defender_stats": [
          {
            "player": "Morten Hjulmand",
            "role": "CDM",
            "market_value": 48000000,
            "tackles_attempted": 2.3,
            "tackles_won": 2.0,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.769
          }
        ],
        "duel_analysis": "Jon Ander Olasagasti (CM) is heavily outmatched defensively against Morten Hjulmand in a direct 1v1 contest. Duel win probability: 23%. The quality gap is significant (€3M vs €48M avg). Matchup xG multiplier ×0.68 (×1.00 = his usual level). Projected xG contribution: 0.056 — with very limited chance creation expected."
      }
    ],
    "away_attacking_duels": [
      {
        "attacker": "Alejandro Grimaldo",
        "attacker_role": "LW",
        "attacker_market_value": 19400000,
        "attacker_height": 171,
        "attacker_skill_quality": 0.625,
        "defenders": [
          "Nacho Pérez"
        ],
        "defender_roles": [
          "RB"
        ],
        "def_skill_quality_avg": 0.437,
        "duel_zone": "Left Wing vs Right Back — Flank Battle",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.548,
        "xg_contribution": 0.1986,
        "xg_multiplier": 1.1006,
        "shots_in_zone": 2.1,
        "dribbles_attempted": 4,
        "dribbles_successful": 1.9,
        "aerial_duels": 2,
        "aerial_won": 0.8,
        "crosses_in_zone": 2.2,
        "fouls_drawn": 1.1,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Nacho Pérez",
            "role": "RB",
            "market_value": 1600000,
            "tackles_attempted": 1.9,
            "tackles_won": 1.4,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 1.2,
            "defensive_success_rate": 0.452
          }
        ],
        "duel_analysis": "Alejandro Grimaldo (LW) is slightly favored against Nacho Pérez in a direct 1v1 contest. Duel win probability: 55%. The quality gap is significant (€19M vs €2M avg). Matchup xG multiplier ×1.10 (×1.00 = his usual level). Projected xG contribution: 0.199 — creating consistent moderate threat."
      },
      {
        "attacker": "Pablo Barrios",
        "attacker_role": "CAM",
        "attacker_market_value": 77000000,
        "attacker_height": 181,
        "attacker_skill_quality": 0.879,
        "defenders": [
          "Daniel Requena"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.437,
        "duel_zone": "Attacking Mid vs Single Holding Mid — Space Creator Duel",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.64,
        "xg_contribution": 0.0838,
        "xg_multiplier": 1.2653,
        "shots_in_zone": 2.8,
        "dribbles_attempted": 3,
        "dribbles_successful": 1.7,
        "aerial_duels": 2,
        "aerial_won": 1.1,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.1,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Daniel Requena",
            "role": "CDM",
            "market_value": 1500000,
            "tackles_attempted": 1.9,
            "tackles_won": 1.4,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.36
          }
        ],
        "duel_analysis": "Pablo Barrios (CAM) has a clear attacking advantage against Daniel Requena in a direct 1v1 contest. Duel win probability: 64%. The quality gap is significant (€77M vs €2M avg). Matchup xG multiplier ×1.27 (×1.00 = his usual level). Projected xG contribution: 0.084 — and projects to generate high-quality chances."
      },
      {
        "attacker": "Julián Alvarez",
        "attacker_role": "ST",
        "attacker_market_value": 107000000,
        "attacker_height": 170,
        "attacker_skill_quality": 0.895,
        "defenders": [
          "Aïssa Mandi",
          "Ifeanyi Ndukwe"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.439,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.342,
        "xg_contribution": 0.3932,
        "xg_multiplier": 1.2095,
        "shots_in_zone": 2.7,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.6,
        "aerial_duels": 3,
        "aerial_won": 1.2,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.6,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Aïssa Mandi",
            "role": "CB",
            "market_value": 1100000,
            "tackles_attempted": 1.0,
            "tackles_won": 0.8,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.658
          },
          {
            "player": "Ifeanyi Ndukwe",
            "role": "CB",
            "market_value": 3200000,
            "tackles_attempted": 1.0,
            "tackles_won": 0.8,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.658
          }
        ],
        "duel_analysis": "Julián Alvarez (ST) has a clear attacking advantage against Aïssa Mandi and Ifeanyi Ndukwe in a 2-defender block. Duel win probability: 34%. The quality gap is significant (€107M vs €2M avg). Matchup xG multiplier ×1.21 (×1.00 = his usual level). Projected xG contribution: 0.393 — and projects to generate high-quality chances."
      },
      {
        "attacker": "Alex Baena",
        "attacker_role": "ST",
        "attacker_market_value": 48000000,
        "attacker_height": 174,
        "attacker_skill_quality": 0.817,
        "defenders": [
          "Aïssa Mandi",
          "Ifeanyi Ndukwe"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.439,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.307,
        "xg_contribution": 0.1888,
        "xg_multiplier": 1.1576,
        "shots_in_zone": 2.5,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.5,
        "aerial_duels": 3,
        "aerial_won": 1.4,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.6,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Aïssa Mandi",
            "role": "CB",
            "market_value": 1100000,
            "tackles_attempted": 1.0,
            "tackles_won": 0.8,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.693
          },
          {
            "player": "Ifeanyi Ndukwe",
            "role": "CB",
            "market_value": 3200000,
            "tackles_attempted": 1.0,
            "tackles_won": 0.8,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.693
          }
        ],
        "duel_analysis": "Alex Baena (ST) is slightly favored against Aïssa Mandi and Ifeanyi Ndukwe in a 2-defender block. Duel win probability: 31%. The quality gap is significant (€48M vs €2M avg). Matchup xG multiplier ×1.16 (×1.00 = his usual level). Projected xG contribution: 0.189 — creating consistent moderate threat."
      },
      {
        "attacker": "Kang-in Lee",
        "attacker_role": "ST",
        "attacker_market_value": 37000000,
        "attacker_height": 173,
        "attacker_skill_quality": 0.764,
        "defenders": [
          "Aïssa Mandi",
          "Ifeanyi Ndukwe"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.439,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.283,
        "xg_contribution": 0.1877,
        "xg_multiplier": 1.1227,
        "shots_in_zone": 2.4,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.5,
        "aerial_duels": 3,
        "aerial_won": 1.3,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.6,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Aïssa Mandi",
            "role": "CB",
            "market_value": 1100000,
            "tackles_attempted": 1.0,
            "tackles_won": 0.8,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.717
          },
          {
            "player": "Ifeanyi Ndukwe",
            "role": "CB",
            "market_value": 3200000,
            "tackles_attempted": 1.0,
            "tackles_won": 0.8,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.717
          }
        ],
        "duel_analysis": "Kang-in Lee (ST) is slightly favored against Aïssa Mandi and Ifeanyi Ndukwe in a 2-defender block. Duel win probability: 28%. The quality gap is significant (€37M vs €2M avg). Matchup xG multiplier ×1.12 (×1.00 = his usual level). Projected xG contribution: 0.188 — creating consistent moderate threat."
      },
      {
        "attacker": "Morten Hjulmand",
        "attacker_role": "CDM",
        "attacker_market_value": 48000000,
        "attacker_height": 185,
        "attacker_skill_quality": 0.817,
        "defenders": [
          "Oriol Rey"
        ],
        "defender_roles": [
          "CM"
        ],
        "def_skill_quality_avg": 0.437,
        "duel_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.623,
        "xg_contribution": 0.0673,
        "xg_multiplier": 1.3277,
        "shots_in_zone": 1.3,
        "dribbles_attempted": 2,
        "dribbles_successful": 1.1,
        "aerial_duels": 2,
        "aerial_won": 1.2,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.1,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Oriol Rey",
            "role": "CM",
            "market_value": 1700000,
            "tackles_attempted": 1.9,
            "tackles_won": 1.4,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.377
          }
        ],
        "duel_analysis": "Morten Hjulmand (CDM) has a clear attacking advantage against Oriol Rey in a direct 1v1 contest. Duel win probability: 62%. The quality gap is significant (€48M vs €2M avg). Matchup xG multiplier ×1.33 (×1.00 = his usual level). Projected xG contribution: 0.067 — and projects to generate high-quality chances."
      },
      {
        "attacker": "Giuliano Simeone",
        "attacker_role": "CDM",
        "attacker_market_value": 44000000,
        "attacker_height": 173,
        "attacker_skill_quality": 0.8,
        "defenders": [
          "Oriol Rey"
        ],
        "defender_roles": [
          "CM"
        ],
        "def_skill_quality_avg": 0.437,
        "duel_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.569,
        "xg_contribution": 0.1942,
        "xg_multiplier": 1.248,
        "shots_in_zone": 1.2,
        "dribbles_attempted": 2,
        "dribbles_successful": 1.0,
        "aerial_duels": 2,
        "aerial_won": 0.9,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.2,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Oriol Rey",
            "role": "CM",
            "market_value": 1700000,
            "tackles_attempted": 1.9,
            "tackles_won": 1.4,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.431
          }
        ],
        "duel_analysis": "Giuliano Simeone (CDM) has a clear attacking advantage against Oriol Rey in a direct 1v1 contest. Duel win probability: 57%. The quality gap is significant (€44M vs €2M avg). Matchup xG multiplier ×1.25 (×1.00 = his usual level). Projected xG contribution: 0.194 — and projects to generate high-quality chances."
      }
    ],
    "midfield_battle": {
      "home_midfield_power": 0.437,
      "away_midfield_power": 0.805,
      "home_creative_power": 0.437,
      "away_creative_power": 0.795,
      "home_defensive_power": 0.437,
      "away_defensive_power": 0.843,
      "home_dominance_ratio": 0.352,
      "home_midfield_count": 3,
      "away_midfield_count": 4,
      "home_midfield_players": [
        "Oriol Rey",
        "Jon Ander Olasagasti",
        "Daniel Requena"
      ],
      "away_midfield_players": [
        "Morten Hjulmand",
        "Pablo Barrios",
        "Alejandro Grimaldo",
        "Giuliano Simeone"
      ],
      "possession_advantage": "away",
      "estimated_possession_home_pct": 45.4,
      "estimated_possession_away_pct": 54.6,
      "home_pressing_actions_per_90": 6.3,
      "away_pressing_actions_per_90": 8.9,
      "home_key_passes_projected": 4.1,
      "away_key_passes_projected": 6.3,
      "home_throughball_threat": 1.9,
      "away_throughball_threat": 3.0,
      "key_personal_duel": "Jon Ander Olasagasti vs Pablo Barrios",
      "midfield_lambda_factor_home": 0.945,
      "midfield_lambda_factor_away": 1.053
    },
    "formation_analysis": {
      "home_formation": "4-3-3",
      "away_formation": "4-2-3-1",
      "home_tactical_bonus": 0.03,
      "away_tactical_bonus": -0.01,
      "formation_verdict": "Tactical parity between 4-3-3 and 4-2-3-1. Match outcome driven primarily by individual player quality."
    },
    "home_lambda": 1.191,
    "away_lambda": 2.266,
    "home_top_threat_zones": [
      "Left Wing vs Right Back — Flank Battle",
      "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle"
    ],
    "away_top_threat_zones": [
      "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
      "Left Wing vs Right Back — Flank Battle"
    ],
    "home_player_antagonists": {
      "Roger Brugué": {
        "opponents": [
          "Jan Oblak"
        ],
        "primary_zone": "Left Wing vs Right Back — Flank Battle",
        "source": "attacking_duel"
      },
      "Thiago Fernández": {
        "opponents": [
          "Marcos Llorente"
        ],
        "primary_zone": "Right Wing vs Left Back — Flank Battle",
        "source": "attacking_duel"
      },
      "Iván Romero": {
        "opponents": [
          "Dávid Hancko",
          "Marc Pubill"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Daniel Requena": {
        "opponents": [
          "Morten Hjulmand",
          "Pablo Barrios",
          "Alejandro Grimaldo"
        ],
        "primary_zone": "CDM vs CDM",
        "source": "attacking_duel, defensive_duel, midfield_pairing"
      },
      "Oriol Rey": {
        "opponents": [
          "Morten Hjulmand",
          "Giuliano Simeone"
        ],
        "primary_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
        "source": "attacking_duel, defensive_duel, midfield_pairing"
      },
      "Jon Ander Olasagasti": {
        "opponents": [
          "Morten Hjulmand",
          "Giuliano Simeone"
        ],
        "primary_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
        "source": "attacking_duel, midfield_pairing"
      },
      "Nacho Pérez": {
        "opponents": [
          "Alejandro Grimaldo"
        ],
        "primary_zone": "Left Wing vs Right Back — Flank Battle",
        "source": "defensive_duel"
      },
      "Aïssa Mandi": {
        "opponents": [
          "Julián Alvarez",
          "Alex Baena",
          "Kang-in Lee"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Ifeanyi Ndukwe": {
        "opponents": [
          "Julián Alvarez",
          "Alex Baena",
          "Kang-in Lee"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Mathew Ryan": {
        "opponents": [
          "Julián Alvarez",
          "Alex Baena"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Manuel Sánchez": {
        "opponents": [
          "Kang-in Lee"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      }
    },
    "away_player_antagonists": {
      "Jan Oblak": {
        "opponents": [
          "Roger Brugué"
        ],
        "primary_zone": "Left Wing vs Right Back — Flank Battle",
        "source": "defensive_duel"
      },
      "Marcos Llorente": {
        "opponents": [
          "Thiago Fernández"
        ],
        "primary_zone": "Right Wing vs Left Back — Flank Battle",
        "source": "defensive_duel"
      },
      "Dávid Hancko": {
        "opponents": [
          "Iván Romero"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Marc Pubill": {
        "opponents": [
          "Iván Romero"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Morten Hjulmand": {
        "opponents": [
          "Daniel Requena",
          "Oriol Rey",
          "Jon Ander Olasagasti"
        ],
        "primary_zone": "CDM vs CDM",
        "source": "defensive_duel, attacking_duel, midfield_pairing"
      },
      "Alejandro Grimaldo": {
        "opponents": [
          "Nacho Pérez",
          "Daniel Requena"
        ],
        "primary_zone": "Left Wing vs Right Back — Flank Battle",
        "source": "attacking_duel, midfield_pairing"
      },
      "Pablo Barrios": {
        "opponents": [
          "Daniel Requena"
        ],
        "primary_zone": "Attacking Mid vs Single Holding Mid — Space Creator Duel",
        "source": "attacking_duel, midfield_pairing"
      },
      "Julián Alvarez": {
        "opponents": [
          "Aïssa Mandi",
          "Ifeanyi Ndukwe"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Alex Baena": {
        "opponents": [
          "Aïssa Mandi",
          "Ifeanyi Ndukwe"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Kang-in Lee": {
        "opponents": [
          "Aïssa Mandi",
          "Ifeanyi Ndukwe"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Giuliano Simeone": {
        "opponents": [
          "Oriol Rey",
          "Jon Ander Olasagasti"
        ],
        "primary_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
        "source": "attacking_duel, midfield_pairing"
      }
    },
    "key_tactical_insight": "Away midfield dictates play with ~55% possession expected (Jon Ander Olasagasti vs Pablo Barrios). Total antagonist xG — Home: 0.66, Away: 1.31. Home danger zone: Left Wing vs Right Back — Flank Battle. Away danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle.",
    "lambda_factors": {
      "league_anchor": 1.35,
      "home_advantage_factor": 1.3418,
      "ha_source": "estimated:league",
      "home_gk_opposition_factor": 0.9481,
      "away_gk_opposition_factor": 1.0107,
      "home_set_piece_bonus": 0.107,
      "away_set_piece_bonus": 0.1373,
      "home_defensive_solidity_vs": 0.9189,
      "away_defensive_solidity_vs": 1.0075,
      "home_midfield_factor": 0.945,
      "away_midfield_factor": 1.053,
      "stage_discount": 1.0,
      "quality_gap_applied": true,
      "home_avg_quality": 0.4494,
      "away_avg_quality": 0.7813,
      "avg_quality_gap": -0.332,
      "squad_value_gap_log": -2.4418,
      "top5_value_gap_log": -2.2821,
      "attack_value_gap_log": -2.5397,
      "elite_count_gap": -6,
      "combined_quality_gap": -0.707,
      "stronger_lambda_boost": 0.3889,
      "weaker_lambda_suppression": 0.2262,
      "home_lambda_chain": [
        {
          "label": "league_anchor",
          "value": 1.35
        },
        {
          "label": "duel_blend",
          "raw_xg": 0.6643,
          "n_duels": 6,
          "duel_confidence": 0.75,
          "result": 0.8357
        },
        {
          "label": "midfield_factor",
          "factor": 0.945,
          "result": 0.7898
        },
        {
          "label": "formation_bonus",
          "factor": 1.03,
          "result": 0.8135
        },
        {
          "label": "home_advantage",
          "factor": 1.3418,
          "result": 1.0915
        },
        {
          "label": "standing_factor",
          "factor": 0.9101,
          "result": 0.9933
        },
        {
          "label": "gk_opposition",
          "factor": 0.9481,
          "result": 0.9418
        },
        {
          "label": "defensive_solidity",
          "factor": 0.9189,
          "result": 0.8654
        },
        {
          "label": "set_piece_bonus",
          "bonus": 0.107,
          "result": 0.9724
        },
        {
          "label": "engine_clamp",
          "pre": 0.9724,
          "result": 0.9724,
          "band": [
            0.6,
            4.0
          ],
          "clamped": false
        },
        {
          "label": "quality_gap",
          "applied": true,
          "combined_quality_gap": -0.707,
          "factor": 0.7738,
          "pre": 0.9724,
          "result": 0.7524
        },
        {
          "label": "stage_discount",
          "applied": false,
          "factor": 1.0,
          "result": 0.7524
        },
        {
          "label": "bench_bonus",
          "side": "home",
          "bonus": 0.2064,
          "result": 0.9584
        },
        {
          "label": "fbref_blend",
          "side": "home",
          "applied": true,
          "blending_weight": 0.228,
          "empirical_lambda": 2.8765,
          "result": 1.3957
        },
        {
          "label": "router_clamp",
          "pre": 1.3957,
          "result": 1.396,
          "band": [
            0.65,
            4.8
          ]
        },
        {
          "label": "h2h_adjustment",
          "applied": true,
          "multiplier": 0.9857,
          "pre": 1.396,
          "result": 1.376,
          "available": true
        },
        {
          "label": "mismatch_pressure",
          "applied": true,
          "factor": 0.9393,
          "pre": 1.376,
          "result": 1.293
        },
        {
          "label": "underdog_floor",
          "applied": false,
          "reason": "lambda gap >= 1.25 (clear mismatch)",
          "result": 1.293
        },
        {
          "label": "redistribution",
          "applied": true,
          "factor": 0.9092,
          "input_total": 4.067,
          "result": 1.1756
        },
        {
          "label": "final_clamp",
          "applied": true,
          "pre": 1.1756,
          "result": 1.176,
          "band": [
            0.65,
            4.8
          ]
        },
        {
          "label": "competition_calibration",
          "applied": true,
          "reason": "competition_intensity_calibration",
          "samples": 124,
          "scale": 0.85,
          "observed_total_goals": 2.984,
          "result": 1.191
        }
      ],
      "away_lambda_chain": [
        {
          "label": "league_anchor",
          "value": 1.35
        },
        {
          "label": "duel_blend",
          "raw_xg": 1.3136,
          "n_duels": 7,
          "duel_confidence": 0.75,
          "result": 1.3227
        },
        {
          "label": "midfield_factor",
          "factor": 1.053,
          "result": 1.3928
        },
        {
          "label": "formation_bonus",
          "factor": 0.99,
          "result": 1.3789
        },
        {
          "label": "home_advantage",
          "factor": 1.0,
          "result": 1.3789
        },
        {
          "label": "standing_factor",
          "factor": 1.1146,
          "result": 1.5369
        },
        {
          "label": "gk_opposition",
          "factor": 1.0107,
          "result": 1.5533
        },
        {
          "label": "defensive_solidity",
          "factor": 1.0075,
          "result": 1.5649
        },
        {
          "label": "set_piece_bonus",
          "bonus": 0.1373,
          "result": 1.7022
        },
        {
          "label": "engine_clamp",
          "pre": 1.7022,
          "result": 1.7022,
          "band": [
            0.6,
            4.0
          ],
          "clamped": false
        },
        {
          "label": "quality_gap",
          "applied": true,
          "combined_quality_gap": -0.707,
          "factor": 1.3889,
          "pre": 1.7022,
          "result": 2.3641
        },
        {
          "label": "stage_discount",
          "applied": false,
          "factor": 1.0,
          "result": 2.3641
        },
        {
          "label": "bench_bonus",
          "side": "away",
          "bonus": 0.22,
          "result": 2.584
        },
        {
          "label": "fbref_blend",
          "side": "away",
          "applied": true,
          "blending_weight": 0.228,
          "empirical_lambda": 2.8864,
          "result": 2.653
        },
        {
          "label": "router_clamp",
          "pre": 2.653,
          "result": 2.653,
          "band": [
            0.65,
            4.8
          ]
        },
        {
          "label": "h2h_adjustment",
          "applied": true,
          "multiplier": 1.0143,
          "pre": 2.653,
          "result": 2.6909,
          "available": true
        },
        {
          "label": "mismatch_pressure",
          "applied": true,
          "factor": 1.1818,
          "pre": 2.6909,
          "result": 3.18
        },
        {
          "label": "underdog_floor",
          "applied": false,
          "reason": "lambda gap >= 1.25 (clear mismatch)",
          "result": 3.18
        },
        {
          "label": "redistribution",
          "applied": true,
          "factor": 0.9092,
          "input_total": 4.067,
          "result": 2.8914
        },
        {
          "label": "final_clamp",
          "applied": true,
          "pre": 2.8914,
          "result": 2.891,
          "band": [
            0.65,
            4.8
          ]
        },
        {
          "label": "competition_calibration",
          "applied": true,
          "reason": "competition_intensity_calibration",
          "samples": 124,
          "scale": 0.85,
          "observed_total_goals": 2.984,
          "result": 2.266
        }
      ],
      "home_bench_lambda_bonus": 0.2064,
      "away_bench_lambda_bonus": 0.22,
      "home_bench_players_modelled": 7,
      "away_bench_players_modelled": 7,
      "fbref_team_priors": {
        "applied": true,
        "home_squad": "Levante UD",
        "away_squad": "Atlético Madrid",
        "home_goals_per90": 1.6666666666666667,
        "away_goals_against_per90": 2.33,
        "away_goals_per90": 2.3333333333333335,
        "home_goals_against_per90": 1.67,
        "home_empirical_lambda": 2.877,
        "away_empirical_lambda": 2.886,
        "blending_weight": 0.228
      },
      "mismatch_score_pressure_applied": true,
      "mismatch_score_pressure_gap": -0.707,
      "mismatch_favorite_lambda_boost": 1.1818,
      "mismatch_underdog_lambda_factor": 0.9393,
      "pre_mismatch_home_lambda": 1.376,
      "pre_mismatch_away_lambda": 2.6909,
      "competitive_underdog_floor_applied": false,
      "pre_calibration_home_lambda": 1.3957,
      "pre_calibration_away_lambda": 2.653,
      "competition_calibration_applied": true,
      "competition_calibration_reason": "competition_intensity_calibration",
      "competition_calibration_samples": 124,
      "competition_observed_total_goals": 2.984,
      "competition_calibration_scale": 0.85,
      "neutral_share_preserved": false,
      "final_home_lambda": 1.191,
      "final_away_lambda": 2.266
    }
  },
  "home_standing": {
    "available": true,
    "team_position": 14,
    "opponent_position": 2,
    "standing_lambda_multiplier": 0.9101,
    "attack_index": 1.027,
    "defense_concede_index": 0.786,
    "form_multiplier": 0.956,
    "team_attack_rate_contextual": 1.55,
    "opp_defense_rate_contextual": 1.19,
    "team_ppg": 1.14,
    "opponent_ppg": 2.07
  },
  "away_standing": {
    "available": true,
    "team_position": 2,
    "opponent_position": 14,
    "standing_lambda_multiplier": 1.1146,
    "attack_index": 1.147,
    "defense_concede_index": 1.117,
    "form_multiplier": 1.044,
    "team_attack_rate_contextual": 1.73,
    "opp_defense_rate_contextual": 1.69,
    "team_ppg": 2.07,
    "opponent_ppg": 1.14
  },
  "xgboost_reasoning": {
    "summary": "Antagonist + XGBoost match analysis for Levante vs Atlético Madrid. Player statistics regressed using position-specific XGBoost models (G, D, M, F) with 2026-2027 FBref priors. Micro-duels resolved across 4-3-3 vs 4-2-3-1 (duel lambdas: Home 1.396, Away 2.653). Final calibrated Poisson lambdas: Home 1.191, Away 2.266 (most likely score 1-2).",
    "competition": "LaLiga",
    "model_coverage": {
      "home_starters_count": 11,
      "home_xgboost_players": 11,
      "home_fbref_players": 6,
      "away_starters_count": 11,
      "away_xgboost_players": 11,
      "away_fbref_players": 9,
      "home_bench_modelled": 7,
      "away_bench_modelled": 7
    },
    "team_priors": {
      "applied": true,
      "home_squad": "Levante UD",
      "away_squad": "Atlético Madrid",
      "home_goals_per90": 1.6666666666666667,
      "away_goals_against_per90": 2.33,
      "away_goals_per90": 2.3333333333333335,
      "home_goals_against_per90": 1.67,
      "home_empirical_lambda": 2.877,
      "away_empirical_lambda": 2.886,
      "blending_weight": 0.228
    },
    "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.191,
      "away_lambda": 2.266,
      "micro_duel_home_lambda": 1.396,
      "micro_duel_away_lambda": 2.653
    },
    "calibration_and_pressure": {
      "competition_calibration_applied": true,
      "competition_calibration_scale": 0.85,
      "mismatch_pressure_applied": true,
      "underdog_floor_applied": false
    }
  },
  "timestamp": "2026-10-30T13:31:47Z",
  "outcome_baseline": null,
  "stat_limits": {
    "saves": 15.0,
    "goalsPrevented": 5.0,
    "keeperSaveValue": 3.0,
    "interceptionWon": 10.0,
    "totalTackle": 12.0,
    "wonTackle": 10.0,
    "totalClearance": 18.0,
    "aerialWon": 15.0,
    "aerialLost": 12.0,
    "totalPass": 150.0,
    "accuratePass": 145.0,
    "keyPass": 8.0,
    "expectedAssists": 1.5,
    "goalAssist": 4.0,
    "expectedGoals": 3.0,
    "expectedGoalsOnTarget": 6.0,
    "xgot": 6.0,
    "goals": 5.0,
    "totalShots": 12.0,
    "onTargetScoringAttempt": 8.0,
    "shotOffTarget": 8.0,
    "rating": 10.0,
    "minutesPlayed": 130.0,
    "duelWon": 20.0,
    "duelLost": 20.0,
    "ballRecovery": 18.0,
    "fouls": 12.0
  }
}